【发布时间】:2011-12-06 09:53:17
【问题描述】:
我们可以通过android中的异步任务流式传输音频文件吗?如果你做过,给我一个例子。
【问题讨论】:
标签: android android-asynctask http-live-streaming
我们可以通过android中的异步任务流式传输音频文件吗?如果你做过,给我一个例子。
【问题讨论】:
标签: android android-asynctask http-live-streaming
好吧,我自己已经为此苦苦挣扎了一段时间,因为每个人总是告诉我“只需使用 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。网上有一些关于这方面的教程。
【讨论】:
您可以使用 mediaPlayer 对象。
mediaPlayer.setDataSource("Your datasource");
mediaPlayer.prepareAsync();
方法prepareAsyc:异步准备播放器进行播放。
欲了解更多信息,请参阅:http://developer.android.com/reference/android/media/MediaPlayer.html
希望这会有所帮助...
【讨论】: