Android:在onVideoEnd()上播放下一个提示视频

时间:2015-12-21 18:06:15

标签: java android class video youtube

我的应用中有一个Youtube播放器。我为这个播放器设置了一个setPlayerStateChangeListener,并且在视频结束时(onVideoEnd())我希望播放下一个提示视频。

这就是我到目前为止......

YouTubeFragment

@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean restored) {
    ...
    player.setPlayerStateChangeListener(myPlayerStateChangeListener);
    ...
}

MyPlayerStateChangeListener

package x;

import android.util.Log;
import com.google.android.youtube.player.YouTubePlayer;

public final class MyPlayerStateChangeListener implements YouTubePlayer.PlayerStateChangeListener {


    @Override
    public void onAdStarted() {
    }

    @Override
    public void onError(
            com.google.android.youtube.player.YouTubePlayer.ErrorReason arg0) {
    }

    @Override
    public void onLoaded(String arg0) {
    }

    @Override
    public void onLoading() {
    }

    @Override
    public void onVideoEnded() {
        Log.d("onVideoEnded()", "Video has ended");
    }

    @Override
    public void onVideoStarted() {
    }
}

视频结束后,onVideoEnded()内的日志消息会成功显示。我正在努力解决的问题是如何在我的youtube播放器中从此PlayerStateChangeListener中运行hasNext(),play()等。

1 个答案:

答案 0 :(得分:1)

实际上您可以使用以下内容:

private static YouTubePlayer player;

在onInitializationSuccess()中设置此变量。

this.player = player;

现在在回调onVideoEnd()中使用播放器的静态版本来执行您需要的操作,例如提示新视频。