【问题标题】:Playing two MediaPlayer objects in sync [Android]同步播放两个 MediaPlayer 对象 [Android]
【发布时间】:2015-03-03 14:59:23
【问题描述】:

我在本地有两个媒体文件 - mp4 视频和 m4a 音频,它们必须同步播放。为此,我使用 MediaPlayer 对象,同时调用所有启动/暂停方法。

有时我会在播放器开始后立即看到音频和视频之间的区别,有时在点击暂停/恢复之后。

我添加了日志,发现暂停媒体播放器后,它们的位置不同(例如,MediaPlayer with audio file: 1820ms, MediaPlayer with video file: 1760ms)。

更有趣的一点是,对于音频文件的 seekTo 操作效果很好,而对于视频,它确实是不可预测的。

请提出这种行为的原因是什么以及有哪些解决方案可以解决这个问题?

【问题讨论】:

标签: android synchronization android-mediaplayer


【解决方案1】:

我认为视频时序的这种效果取决于包含完整信息帧的“关键帧”是如何编码的。只能定位到这些关键帧之一。 视频编辑软件通过将增量从中间 i 帧滚动到确切的搜索位置来解决这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    • 2012-01-06
    • 2017-05-19
    • 1970-01-01
    相关资源
    最近更新 更多