如何在不从url下载的情况下播放mp3?

我想发展如下,但我没有find好的例子:

我想玩,而不必下载一个MP3编码的url。 除非用户停止它,MP3应该在后台播放。 我想我做多任务。

有没有例如文件或任何build议请。 谢谢。

Solutions Collecting From Web of "如何在不从url下载的情况下播放mp3?"

看看这两个教程,在这些.mp3文件正在通过url,

使用Android MediaPlayer类从URLstream式传输mp3媒体文件的示例

从url播放MP3文件

另外,如果你想在后台播放.mp3文件,我想你必须使用Service和AIDL,

看看基本的Android音乐播放器演示MusicDroid – audio播放器第二部分它描述了如何使用服务和AIDl为您的audio播放器。

谢谢..

简单的方法来做到这一点::

 MediaPlayer mp = new MediaPlayer(); mp.setDataSource(PATH_TO_FILE); mp.prepare(); mp.start(); 

你可以使用MediaPlayer.create(context,uri); 通过上下文(这)和你想播放歌曲的URI

编辑:

哦,这是Android的具体,而不是(只)一个网站。 我build议你看看这些解决scheme,以及其他人提到的其中一个MediaPlayer解决scheme。 如果你使用MediaPlayer ,我build议你接受他们的答案:)


在w3schools上有很多这样的例子:

http://www.w3schools.com/html/html_sounds.asp

您可以:

  • embedded一​​个媒体播放器,如雅虎networking播放器
  • 通过<audio>元素在HTML中播放audio
  • 使用<embed>元素
  • 使用<object>元素

以下是他们描述为“最佳”的解决scheme:

 <audio controls="controls" height="50px" width="100px"> <source src="song.mp3" type="audio/mpeg" /> <source src="song.ogg" type="audio/ogg" /> <embed height="50px" width="100px" src="song.mp3" /> </audio> 

请注意,这是一个HTML 5元素,因此可能无法在每个浏览器上运行。 不过,我认为这可能会在任何浏览器中都能发挥出丰富的多媒体体验。

 if (!isPlaying) { isPlaying = true; mp = new MediaPlayer(); try { mp.reset(); // new one mp.setDataSource(AudioPlayer.this, myUri); //mp.prepareAsync(); mp.setAudioStreamType(AudioManager.STREAM_MUSIC); mp.prepare(); // don't use prepareAsync for mp3 playback mp.start(); // String songTitle = songsList.get(songIndex).get("songTitle"); // songTitleLabel.setText(songTitle); songProgressBar.setProgress(0); songProgressBar.setMax(100); // Updating progress bar updateProgressBar(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } else { isPlaying = false; mp.release();// stop Playing //mp = null; } 

我在我的MediaPlayer中使用它正在工作..没有必要下载它..

 public class PlayAudioManager { private static MediaPlayer mediaPlayer; public static void playAudio(final Context context, final String url) throws Exception { if (mediaPlayer == null) { mediaPlayer = MediaPlayer.create(context, Uri.parse(url)); } mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { killMediaPlayer(); } }); mediaPlayer.start(); } private static void killMediaPlayer() { if (mediaPlayer != null) { try { mediaPlayer.reset(); mediaPlayer.release(); mediaPlayer = null; } catch (Exception e) { e.printStackTrace(); } } } } 

在你的Activity中,例如,只需调用PlayAudioManager.playAudio(context, http://dict.youdao.com/dictvoice?audio=good&type=1)