2

内で再生されるビデオのリストを作成していますVideoView

「申し訳ありませんが、この動画は再生できません」というエラーをキャッチして、次の動画に進みます。ビデオスイッチングは、内で処理されますonCompletionListener

ここonErrorListenerからのコードをすでに取得していますが、「ビデオが完了しました」イベントをトリガーする方法が見つかりません。

何か案は?

4

2 に答える 2

2

onCompletionのonCompletionListenerで行うのと同じことをonErrorListenerで行うことができ、ビデオを次のビデオに設定し(どういうわけか、実装を理解していません)、エラーが発生した場合は同じコードを使用します(おそらく別の関数にリファクタリングされます)。例えば:

onError(....)
    if(error = watever error you need)
    functionNextVideo()

上記は擬似コードであることに注意してください。

ただし、それ以外のonCompletionListenerは、ビデオが想定どおりに完了しない限りトリガーされません。

于 2013-02-13T16:15:44.260 に答える
1

パブリックインターフェイス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が呼び出されます。

于 2014-08-08T11:21:51.337 に答える