ответ

9

Попробуйте сделать это:

MediaPlayer mp = new MediaPlayer(/*Your-Context*/); 
mp.setDataSource(/*MP3 file's Url*/); 
mp.setOnPreparedListener(new OnPreparedListener(){ 
onPrepared(MediaPlayer mp) 
{ 
mp.start(); 
} 
}); 
mp.prepareAsync(); 
+0

как мы можем остановить звук во время его воспроизведения –

+0

Чтобы остановить: mp.stop(); и приостановить: mp.pause(); –

+0

Как я могу запустить онлайн-mp3-файл в службе mediaplayer – Harsha

30
try { 
    MediaPlayer player = new MediaPlayer(); 
    player.setAudioStreamType(AudioManager.STREAM_MUSIC); 
    player.setDataSource("http://xty/MRESC/images/test/xy.mp3"); 
    player.prepare(); 
    player.start();  
} catch (Exception e) { 
    // TODO: handle exception 
} 
+0

@ dipali.Спасибо очень сильно, что ваш код работает отлично, но когда во время воспроизведения звуковой кнопки воспроизведения звука снова нажата, принудительно закрывается. –

+0

@dipali У меня появилось предупреждение: активность не началась, ее текущая задача была перенесена на передний план. Можешь мне объяснить? – iCrazybest

+0

Предполагая, что на ресурсе uri установлен правильный заголовок, будет ли файл кэшироваться в ОЗУ, или же звуковой файл загружается каждый раз, когда мы его воспроизводим? – GA1

5

Если вы просто хотите, чтобы открыть поток в музыкальном проигрывателе по умолчанию в (так что вам не придется иметь дело с исполнителями кнопкой игрока, продолжая работу в фон и т.д.), вы можете использовать Intent:

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_VIEW); 
intent.setDataAndType(Uri.parse("http://example.com/file.mp3"), "audio/mp3"); 
startActivity(intent); 

Если вы не в настоящее время в деятельности, использовать getBaseContext().startActivity(intent), или что-то еще, так что вы можете позвонить startActivity() на Context объект.

 Смежные вопросы

  • Нет связанных вопросов^_^