安卓中的音频交叉淡入淡出

5

我正在开发一个媒体播放器,用于学习目的,我希望这个媒体播放器应用程序具有交叉淡入淡出功能。但是我不知从何开始。我尝试在互联网上搜索,但没有找到解决方法。我正在使用Android MediaPlayer类执行所有媒体播放器相关操作。是否有人知道任何解决方法。

感谢您的支持

3个回答


1

尝试使用AudioTrack而不是MediaPlayer。一般来说,我建议以下计划:

  • 学习一些使用AudioTrack的应用程序源代码。可以在这里找到一个好的播放器。

这是一个使用JNI进行aac音频解码的aac音频播放器。

  • 查找一个MP3解码库。该库应该是Java库(例如这个),或者可能有其他库(我没有使用过这样的Java库)或C/C++库(在这种情况下,您也将通过JNI使用它)。
  • 当您获得简单的工作MP3播放器时,添加手动淡入淡出效果(如果您了解数字音频的基础知识,则应该很容易)。

1
当第二个MediaPlayer启动时,第一个MediaPlayer会暂停一段时间(在某些设备上,主要是三星设备),因此转换不够平滑。MediaPlayer存在这个问题,已经向Google报告了很久,但仍未解决(https://issuetracker.google.com/issues/36931073),所以我们无能为力。因此,我使用Exoplayer播放音频,它非常流畅,没有任何暂停。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接