Android MediaPlayer seekTo()不起作用

时间:2016-08-02 23:51:25

标签: java android video synchronization android-mediaplayer

我有一个Android应用,两个媒体播放器彼此靠近,播放视频。循环已启用。当它运行时,我注意到其中一个视频从另一个视频中消失了几百毫秒,这是显而易见的。这两个视频是同一视频的作物,这就是为什么当这个家伙移动时,它会清楚地显示有一个优势。我试图使用

手动添加几毫秒到另一个

mp[1].seekTo(mp[0].getCurrentPosition()+700)

但不幸的是随着时间的推移它会下降。每次变得与众不同。我正在使用Thread并同时设置两个玩家的mediaPlayer.start()(建议this post),但这也无济于事。我该如何解决这个问题?有什么想法吗?

mp[0] = mediaPreparation("waldo_short_1.mp4", false);
mp[1] = mediaPreparation("waldo_short_2.mp4", false);

mp[0].start();
mp[1].start();
mp[1].seekTo(mp[0].getCurrentPosition()+705);

    MediaPlayer mediaPreparation(String filename, boolean setMute) {

        // create mediaplayer instance
        MediaPlayer mediaPlayer = new MediaPlayer();
        AssetFileDescriptor afd;
        try {
            afd = getContext().getAssets().openFd(filename);
            mediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
            afd.close();
            mediaPlayer.prepare();
        } catch (IOException e) {

        }

        mediaPlayer.setLooping(true);
        // mediaPlayer.start();
        return mediaPlayer;
    }

0 个答案:

没有答案