如何在android中使用Async任务进行音频流传输

use*_*599 3 android http-live-streaming android-asynctask

我们可以通过android中的异步任务流式传输音频文件.如果你做了,给我一个例子.

San*_*eer 9

好吧,我已经挣扎了很长一段时间,因为每个人总是告诉我"只是使用prepareAsync()它会起作用.

但是,您仍然需要等待,直到有足够的缓冲,然后尝试start()否则您将收到错误并且不会发生任何事情.

首先,让你的音乐流媒体类实现OnPreparedListener.这将用于检查在开始播放之前是否有足够的缓冲.

接下来,使用这段代码启动缓冲并设置监听器:

mediaPlayer.setDataSource(URL here);
mediaPlayer.prepareAsync();
mediaPlayer.setOnPreparedListener(this);
Run Code Online (Sandbox Code Playgroud)

您现在已设置侦听器以检查是否已缓冲足够的内容.再往前走一步

public void onPrepared(MediaPlayer mediaplayer) {
    // We now have buffered enough to be able to play
    mediaPlayer.start();
}
Run Code Online (Sandbox Code Playgroud)

这首歌现在可以开始播放,而不会出现任何错误.

祝好运!


至于你想要播放音乐并且能够随时停止音乐的事实,Service如果你计划能够从所有活动中停止你的音乐,你将需要使用它.有一些关于这方面的教程可以在互联网上找到.