Android MediaPlayer-同步播放两个视频

时间:2016-10-24 21:26:02

标签: android performance video-streaming android-mediaplayer

我的问题类似于this one,但没有正确答案,所以我想我试一试。

在我的应用程序中,我有两个视频播放器(TextureView + MediaPlayer - 基于VideoView)在一个屏幕上并排显示URL。我让它工作得很对。因为我需要它们同时播放我同步他们的控制器,当我开始其中一个时,第二个开始(与暂停,寻求,缓冲等相同)。

videoView1.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        public void onPrepared(MediaPlayer mp) {
            mp.setVolume(0.0f, 0.0f);
            firstVideoPrepared = true;
            tryStart();
        }
    });

videoView2.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        public void onPrepared(MediaPlayer mp) {
            secondVideoPrepared = true;
            tryStart();
        }
    });

private void tryStart() {
    // here is also buffered data level check
    if (firstVideoPrepared && secondVideoPrepared) {
        videoView1.start();
        videoView2.start();
    }
}

问题在于,尽管暂停了两个视频的缓冲,但当我start()时,它们有时会失去同步。让我们说两个播放器都有相同的视频 - 我需要它们几乎理想地同步,因为我可以看到任何不同。 有没有办法让他们如此精确地同步?

我已经阅读了ExoPlayerFFMPEGMediaPlayerMediaPalyer-Extended这样的图书馆,但它们似乎都没有我想要的内容。

甚至可以保持视频的准确性同步吗?

0 个答案:

没有答案