169 похожих чатов

MediaPlayer mp = new MediaPlayer(); try { mp.setDataSource("https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3");

mp.prepare();
mp.start();

} catch (Exception e) {
e.printStackTrace();
}

Android 4.0.3

не играет, есть идеи?

17 ответов

14 просмотров

На эмуляторе?

Aleksandr-Dorokhin Автор вопроса

нет, на эмуляторе видео не работает почему то, поэтому отлаживаюсь на железе (в данном примере не работает mp3, ogg тоже пробовал)

Попробуй другой трек для начала. Иногда в кодеках может быть проблема

Aleksandr-Dorokhin Автор вопроса

mp3 и ogg пробовал есть гипотеза что он просто скачать трек не может, но как это проверить.. после prepare() фризит интерфейс и движения больше нет, полагаю до start() не доходит

Попробуй prepareAsync и обвязку колбеков

Aleksandr-Dorokhin Автор вопроса

MediaPlayer mp = new MediaPlayer(); try { mp.setDataSource("https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3"); mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { public void onPrepared(MediaPlayer mp) { if (!mp.isPlaying()) { mp.start(); } } }); mp.prepareAsync(); mp.start(); } catch (Exception e) { e.printStackTrace(); } чуда не случилось(

А он эррор колбек?

Aleksandr-Dorokhin Автор вопроса

в логах ошибок нет, мб не туда смотрю? в run: app \ Logcat вкладках пусто

Просмотри логи от медиаплеера. Что он там инитит. По любому должен что-то писать. Ошибку кидать возможно не будет

Aleksandr-Dorokhin Автор вопроса

MediaPlayer mp = new MediaPlayer(); try { mp.setDataSource("https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3"); mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { public void onPrepared(MediaPlayer mp) { if (!mp.isPlaying()) { mp.start(); } } }); mp.setOnErrorListener(new MediaPlayer.OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { Log.e(getPackageName(), String.format("Error(%s%s)", what, extra)); return true; } }); mp.prepareAsync(); mp.start(); } catch (Exception e) { e.printStackTrace(); } пусто

А на версии, скажем 5й или выше работает?

Aleksandr-Dorokhin Автор вопроса

не работает, в логах нашёл максимум 10-12 23:00:32.406 4225-4225/com.adasm.player E/MediaPlayer: Error (-38,0) 10-12 23:00:32.407 4225-4225/com.adasm.player E/com.adasm.player: Error(-380)

Aleksandr-Dorokhin Автор вопроса

проблема как и предполагал оказалась в https, но как это обойти.. по http играет

Я сразу хотел тебе про это написать но перед этим погуглил, писали что он наконец то научился работать с https поэтому не стал ))

Первое, что в голову пришло, вроде можно было медиаплееру подсовывать okhttp client. И okhttp клиенту разрешить доверять всем сертификатам. Но такое я не пробовал, ещё раз повторюсь

Aleksandr-Dorokhin Автор вопроса

попробовал так, не получилось https://paste.laravel.io/279bb72b-baa9-4b58-9fa3-7aa4d919a63c

Попробуй в 5й строке вернуть new X509Certificate[0] ; ну попробовать скормить okhttp клиент медиаплееру

Похожие вопросы

Обсуждают сегодня

Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
А чем вам питонисты не угодили?😂
.
79
Всем привет. Поделитесь, пожалуйста, опытом. Есть форма, на которой имеется dbgrid и кнопки: добавить, редактировать, удалить. Если нет записей в dbgrid, то кнопки редактирова...
Евгений
4
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
83
Вот смотрите у меня есть два стрима сейчас fs, cs: TStream; fs := TFileStream.Create('filename'); cs := TCompressionStream.Create(compression_level, fs); Я хочу сделать так: ...
notme
5
type TExtensions<GExtender>=class function GetExtension<GEntityExtenderType>:GEntityExtenderType; end; function TExtensions<GExtender>.GetExtension<GEntityExtenderType...
zamtmn
8
Всем здравствуйте! Я хотел узнать сколько стоит средняя месячная зарплата у Electron js разработчиков? Мне очень это важно и нужно, плиз помогите узнать эту инфу! Для Джунио...
U.K.
10
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Карта сайта