内で再生されるビデオのリストを作成していますVideoView
。
「申し訳ありませんが、この動画は再生できません」というエラーをキャッチして、次の動画に進みます。ビデオスイッチングは、内で処理されますonCompletionListener
。
ここonErrorListener
からのコードをすでに取得していますが、「ビデオが完了しました」イベントをトリガーする方法が見つかりません。
何か案は?
内で再生されるビデオのリストを作成していますVideoView
。
「申し訳ありませんが、この動画は再生できません」というエラーをキャッチして、次の動画に進みます。ビデオスイッチングは、内で処理されますonCompletionListener
。
ここonErrorListener
からのコードをすでに取得していますが、「ビデオが完了しました」イベントをトリガーする方法が見つかりません。
何か案は?
onCompletionのonCompletionListenerで行うのと同じことをonErrorListenerで行うことができ、ビデオを次のビデオに設定し(どういうわけか、実装を理解していません)、エラーが発生した場合は同じコードを使用します(おそらく別の関数にリファクタリングされます)。例えば:
onError(....)
if(error = watever error you need)
functionNextVideo()
上記は擬似コードであることに注意してください。
ただし、それ以外のonCompletionListenerは、ビデオが想定どおりに完了しない限りトリガーされません。
パブリックインターフェイスOnErrorListenerのソースにあるように:
@return True if the method handled the error, false if it didn't.
* Returning false, or not having an OnErrorListener at all, will
* cause the OnCompletionListener to be called.
*/
boolean onError(MediaPlayer mp, int what, int extra);
したがって、falseを返すか、コールバックを処理しない場合、onCompletionListenerが呼び出されます。