2

2 つのビデオを同時にユーザーに表示し、それらを同期する必要がある 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上記のアルゴリズムは基本的に、両方の 2 つが少なくとも 10% のバッファリングされたビデオ データを再生することを保証します。ただし、アプリケーションにはシークバーと再生/一時停止ボタンがあります。したがって、ユーザーはまだバッファリングされていない位置をシークできるため、上記のソリューションは機能しません。そのようなアプリを実装した人はいますか? Androidでこれを達成する良い方法はありますか?

注: ビデオはリモートであり、そのサイズは小さくありません。

4

0 に答える 0