Android中有播放,暂停,倒带,快进方法吗?

我正在开发一个Android应用程序,允许用户对设备进行讲话。 然后,我想保存它,然后倒带它的一部分再次播放,也许快进到audio的另一部分,暂停播放它,等等。就像一个基本的录音机一样。

有没有build立的API或方法或代码来允许这个? 如果不是的话,我从哪里去呢?

任何帮助将不胜感激。

Solutions Collecting From Web of "Android中有播放,暂停,倒带,快进方法吗?"

使用MediaPlayer,您可以在stream中寻找不同的位置,但这与在DVR中播放快进(或快退)不同,也称为“特技播放”。

但是,快进可以用seekTo来实现,就像这样:

  • 设置一个周期性的定时器(即postDelayed或scheduleAtFixedRate ),每100 毫秒 。
  • 在定时器的Runnable中,用一个代表所需播放速率的因子调用seekTo。
    • 所以,如果你想要2倍快速前进,那么每100毫秒后,你会寻求curr_pos + 100毫秒。 这意味着100毫秒已经通过,但现在你在prev_pos + 200毫秒。
    • 执行4x意味着每100毫秒后你curr_pos + 300毫秒。

  • 我只是意识到seekTo可能寻求最接近的参考或I帧。 所以调用seekTo(curr_pos + 100)可能无法达到您想要的精确位置。

我可能需要在我正在工作的video播放器中实现FF。 如果我得到它的工作,我会在这里更新我的答案。

使用AudioRecorderlogging数据。 使用PCM格式。

然后你可以通过AudioTrackselect性地播放它。