Я использую код в документации MediaPlayer;
String url = "http://........"; // your URL here
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(url);
mediaPlayer.prepare(); // might take long! (for buffering, etc)
mediaPlayer.start();
Путь звука soundcloud - это что-то вроде этого;
https://api.soundcloud.com/tracks/41262720/stream?consumer_key=XXXXXX
В строке операций у меня есть эта ошибка;
prepare failed. status=0x1
Я тестирую его с другим источником, и он отлично работает;
http://www.colorado.edu/AmStudies/lewis/Design/blue.mp3
В чем проблема с источниками soundcloud? Нужна ли мне дополнительная настройка для медиаплеера?
Примечание: я использую эмулятор с 2.2 SDK
Медиаплеер (по крайней мере, более старые версии) имеет проблемы с https-адресами. Вам нужно будет вручную разрешить URL-адрес (выдать запрос GET и проверить перенаправление), а затем дать результат MediaPlayer. Есть много других проблем с MediaPlayer, хотя, это не просто, чтобы заставить его работать.
OnPreparedListener()
- вызовstart
сразу послеprepare
не очень хорошая идея для сетевого потока.