2015-12-21 79 views
0

我的应用程序中有一个Youtube播放器。我为此播放器设置了setPlayerStateChangeListener,并且在视频结尾事件(onVideoEnd())中,我希望播放下一个提示视频。Android:在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()等。

回答

1

其实你可以使用以下命令:

private static YouTubePlayer player; 

在onInitializationSuccess()设置这个变量。

this.player = player; 

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

+0

感谢您的回答。你有可能以代码形式扩大你的答案吗? – Charlieabee

+0

让我知道它是否适用于您。 – g90

+0

我在哪里添加第一行代码? onInitializationSucess()之前? – Charlieabee