2012-10-22 15 views
5

2本の動画を連続して再生したい。最初のビデオは常にうまく再生されます。終了後、ログに新しいビデオURLが設定されていますが、SurfaceViewでエラーがスローされ、VideoViewが最初のビデオの最後のフレームでフリーズします。他に何も起こらない。 考えていますか?ありがとう!Android VideoViewで連続動画が再生されない

LE:驚いたことに、OnPreparedListenerは2番目のビデオに対して呼び出されます。

LE2:時には2番目の動画がうまく再生されないことがありますが、時には再生できない場合もあります。それは純粋にランダムだ...

LE3:クイックソリューションは、新しい動画URLを設定する前にこの行を追加します:OnCompletionListenerから

mVideoView.setVisibility(View.GONE); 

コード:

setCurrentPlaybackUrl(); // sets mCurrentMediaUrl to the second video URL 
mVideoView.setVideoPath(mCurrentMediaUrl); 
mVideoView.start(); 

これがログ出力されます

10-22 12:32:35.762: I/AwesomePlayer(126): setDataSource_l('https://xx/TestingVideo_lo.mp4') 
10-22 12:32:35.762: E/BufferQueue(123): [SurfaceView] connect: already connected (cur=3, req=3) 
10-22 12:32:35.762: E/MediaPlayerService(126): setVideoSurfaceTexture failed: -22 
10-22 12:32:35.762: E/BufferQueue(123): [SurfaceView] connect: already connected (cur=3, req=3) 
10-22 12:32:35.762: E/MediaPlayerService(126): setVideoSurfaceTexture failed: -22 

答えて

4

onCompletion(MediaPlayer mp)、トンにしてみてください:最初のビデオ再生が終了しますo mp.stop()を追加して、あなたのものをしてください。

編集:私はこれを試してみました、それが働いている:

void play_video() { 
    Uri uri = Uri.parse(video_link); 
    videoView.setVideoURI(uri);  
    videoView.requestFocus(); 
    videoView.setVisibility(View.VISIBLE); 
    videoView.start(); 

} 

唯一の違いは、異なる二つは、私が二回同じ映像を果たしたことではありません:play_videoは、以下の方法で

videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
@Override 
public void onCompletion(MediaPlayer mp) { 
     play_video(); 
} 
}); 

play_video(); 

ビデオ。

+0

何も変更されていません。 –

+1

時には2番目のビデオがうまく再生されることもありますが、時にはそうではありません。それは純粋にランダムです... –

+0

0/3成功は2つの異なるURLで試行します。 1/3が同じURLで試行されました。 私は夢中になる... –

関連する問題