我有一个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;
}