我的应用中有一个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()等。
答案 0 :(得分:1)
实际上您可以使用以下内容:
private static YouTubePlayer player;
在onInitializationSuccess()中设置此变量。
this.player = player;
现在在回调onVideoEnd()中使用播放器的静态版本来执行您需要的操作,例如提示新视频。