Android 异步任务和音频
我正在尝试一个接一个地播放多个音频文件,目前正在使用AsyncTasks来准备和启动mediaPlayer,但未能找到一个好方法在当前曲目结束时转到下一个曲目。并不是每次都会播放每个音频文件,它的播放由布尔值决定Android 异步任务和音频,android,audio,android-asynctask,Android,Audio,Android Asynctask,我正在尝试一个接一个地播放多个音频文件,目前正在使用AsyncTasks来准备和启动mediaPlayer,但未能找到一个好方法在当前曲目结束时转到下一个曲目。并不是每次都会播放每个音频文件,它的播放由布尔值决定 任何帮助都非常感谢。使用MediaPlayer进行此操作是否会像您希望的那样工作。尝试以下教程: 如果这不起作用,你可能需要自己将声音混合在一起,然后使用AudioTrack将结果直接传输到硬件。这是较低的水平,但它会给你最大的控制。这取决于您正在做什么,AudioManager解决
任何帮助都非常感谢。使用MediaPlayer进行此操作是否会像您希望的那样工作。尝试以下教程: 如果这不起作用,你可能需要自己将声音混合在一起,然后使用AudioTrack将结果直接传输到硬件。这是较低的水平,但它会给你最大的控制。这取决于您正在做什么,AudioManager解决方案是否适合您。这绝对是更简单的路线。但是,如果你试图排列两个样本,以便在其中一个样本完成下一个样本开始时,就像在音乐应用程序中一样,你可能需要自己混合和流式传输音频
我想你已经读过android sdk/docs/reference/android/media/MediaPlayer.html,上面写着: 当播放到达流的末尾时,播放完成。 如果循环模式设置为truewith setLooping(布尔值),则 MediaPlayer对象应保持在启动状态。如果循环 模式设置为false,播放器引擎调用用户提供的 回调方法OnCompletion.OnCompletion(),如果 OnCompletionListener通过预先注册 setOnCompletionListener(OnCompletionListener)。调用 回调信号表示对象现在已在回放中完成 国家。在PlaybackCompleted状态下,调用start()可以 从音频/视频源的开头重新开始播放
因此,您可以设置一个新的源,prepareAsync,然后在completioncallback中启动。通过这种方式,您可以获得连续播放,但并非无缝播放 谢谢,这是使用同一个mediaPlayer播放所有曲目的好方法