我正在开发一个 Android 应用程序,其中应该同时向用户显示两个视频并且它们应该同步。我通过使用以下算法实现了这一点:
int firstPercentage = (int)(100 * mVideoView1.getCurrentPosition() / (float)mVideoView1.getDuration());
int secondPercentage = (int)(100 * mVideoView2.getCurrentPosition() / (float)mVideoView2.getDuration());
if(mVideoView1.getBufferPercentage() < firstPercentage + 10 ||
mVideoView2.getBufferPercentage() < secondPercentage + 10) {
mVideoView1.pause();
mVideoView2.pause();
}else{
mVideoView1.start();
mVideoView2.start();
}
以上算法基本保证两者VideoView
都有至少10%的缓冲视频数据要播放。但是,我的应用程序中有一个搜索栏和播放/暂停按钮。因此,上述解决方案不起作用,因为用户可以寻找尚未缓冲的位置。有人实现过这样的应用程序吗?有没有在Android上实现这一目标的好方法?
注意:视频是远程的,并且它们的大小不小。