java - Android:在 onVideoEnd() 中播放下一个提示视频

标签 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() 中的日志消息成功显示。我正在努力解决的是如何从这个 PlayerStateChangeListener 中在我的 YouTube 播放器上运行 hasNext()、play() 等。

最佳答案

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

private static YouTubePlayer player;

在 onInitializationSuccess() 中设置此变量。

this.player = player;

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

关于java - Android:在 onVideoEnd() 中播放下一个提示视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34401796/

相关文章:

java 从 DataInputStream 读取未知格式

Android StateListDrawable 在 MultiTouch 之后保持按下状态

c++ - 使用类 Visual C++ 2010

c++ - 编译器错误和 String 类无法识别方法

java - aerospike JUNIT 记录构造函数不工作

java - 使用 eclipse 中的 rJava/JRI 包时,一些命令在 rtest.java 中失败

Listview + Gridview 的 Android Studio 布局预览

java - 使用 ASM : ClassCastException 实现接口(interface)

Java 通过单击按钮隐藏由类扩展的 JFrame

android - TransitionDrawable 第一个元素不消失