我们可以通过android中的异步任务流式传输音频文件。如果你做了,给我一个例子。
答案 0 :(得分:9)
好吧,我已经在这方面挣扎了很长一段时间,因为每个人总是告诉我“只需使用prepareAsync()
就行了。
但是,在尝试start()
之前,您仍然需要等待足够的缓冲,否则您将收到错误,并且不会发生任何事情。
首先,让你的音乐流媒体课程实现OnPreparedListener
。这将用于检查在开始播放之前是否有足够的缓冲。
接下来,使用这段代码启动缓冲并设置监听器:
mediaPlayer.setDataSource(URL here);
mediaPlayer.prepareAsync();
mediaPlayer.setOnPreparedListener(this);
您现在已设置侦听器以检查是否已缓冲足够的内容。再往前走一步
public void onPrepared(MediaPlayer mediaplayer) {
// We now have buffered enough to be able to play
mediaPlayer.start();
}
这首歌现在可以开始播放,而不会出现任何错误。
祝你好运!至于您想要播放音乐并且能够随时停止音乐的事实,如果您计划能够停止所有活动中的音乐,则需要使用Service
。有一些关于这方面的教程可以在互联网上找到。
答案 1 :(得分:0)
您可以使用mediaPlayer对象。
mediaPlayer.setDataSource("Your datasource");
mediaPlayer.prepareAsync();
方法prepareAsyc:以异步方式准备播放器以进行播放。
有关详细信息,请参阅:http://developer.android.com/reference/android/media/MediaPlayer.html
希望这会有所帮助......