2

我正在使用 android 上的 youtube api。我向用户提供视频,以便他可以播放它们,但当他们完成时,我们都知道 youtube 为您提供其他相关视频。所以,如果我的用户喜欢一些相关的视频,我希望他给我发送通知,为此我想省掉“长按视频”-> 复制视频 url--> 粘贴一封电邮。

有谁知道如何在 youtube 播放器上访问当前正在播放的视频?

我在api中没有找到类似的东西......

提前致谢!!

4

2 回答 2

2

您必须实现 YouTubePlayer.PlayerStateChangeListener 因为您不知道现在正在播放哪个视频!!

有一种称为覆盖方法的方法,它为您提供当前正在播放的视频 id 的 id。

您可以简单地使用视频 ID 制作 url

@Override
public void onLoaded(String videoId) {
   String url = "http://www.youtube.com/watch?v=" + mVideoId
}

你可以这样。

@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player,
        boolean wasRestored) {
    
    player.setPlayerStateChangeListener(new PlayerStateChangeListener() {
        
        @Override
        public void onVideoStarted() {
        }
        
        @Override
        public void onVideoEnded() {
        }
        
        @Override
        public void onLoading() {
        }
        
        @Override
        public void onLoaded(String mVideoId) {
            String url = "http://www.youtube.com/watch?v=" + mVideoId
        }
        
        @Override
        public void onError(ErrorReason reason) {
        }
        
        @Override
        public void onAdStarted() {
        }
    });
}

我制作了使用最新 youtube api 的示例活动。

此源处理“方向问题”、“媒体量问题”、“ Youtube 网址解析问题

  1. 这是示例活动代码

    https://gist.github.com/TheFinestArtist/5545437

  2. 这是示例应用程序的 git 项目

    https://github.com/TheFinestArtist/SimpleYouTubePlayer

  3. 我还制作了示例应用程序,您可以下载

    https://play.google.com/store/apps/details?id=com.thefinestartist.simpleyoutubeplayer

于 2013-05-09T05:39:24.850 回答
2
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginState(PluginState.ON);
mWebView.loadUrl("http://www.youtube.com/embed/" + videoID + "?autoplay=1&vq=small");
mWebView.setWebChromeClient(new WebChromeClient());
于 2013-04-30T11:16:55.293 回答