我想发展如下,但我找不到好的例子:
我想玩而不必在网址中下载mp3编码。 除非用户停止播放,否则mp3应该在后台播放。 我想我做多任务处理。
请提供示例文档或任何建议。 感谢。
答案 0 :(得分:23)
看看这两个教程,其中.mp3文件是通过网址播放的,
Example of streaming mp3 mediafile from URL with Android MediaPlayer class
另外如果你想在后台播放.mp3文件,我认为你必须使用Service和AIDL,
查看基本的Android-Music Player演示MusicDroid - Audio Player Part II,它描述了如何为音频播放器使用Service和AIDl。
谢谢..
答案 1 :(得分:12)
执行此操作的简单方法::
MediaPlayer mp = new MediaPlayer();
mp.setDataSource(PATH_TO_FILE);
mp.prepare();
mp.start();
答案 2 :(得分:4)
你可以使用 MediaPlayer.create(context,uri); 传递上下文(this)和你想播放歌曲的uri
答案 3 :(得分:2)
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中使用它正在工作..没有必要下载..
答案 4 :(得分:1)
编辑:
哦,这是Android特定的,而不是(仅仅)一个网站。我建议你看看这些解决方案,以及其他人提到的MediaPlayer
解决方案之一。如果你选择MediaPlayer
,我建议你接受他们的回答:)
在w3schools上有很多如何做到这一点的例子:
http://www.w3schools.com/html/html_sounds.asp
你可以:
<audio>
元素<embed>
元素<object>
元素以下是他们称为“最佳”的解决方案:
<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元素,因此可能无法在每个浏览器上运行。我认为它可能适用于您应该开发丰富的多媒体体验的任何浏览器。
答案 5 :(得分:1)
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();
}
}
}
}
在您的活动中,例如,只需致电
PlayAudioManager.playAudio(context, http://dict.youdao.com/dictvoice?audio=good&type=1)