Mao*_*hen 5 android youtube-api android-fragments youtube-data-api
我有一个在那里播放视频的布局,我想处理这个播放器上的 onClick 。在我的线性布局中,我有 api 中建议的 YouTube 片段:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:name="com.google.android.youtube.player.YouTubePlayerFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/youtubePlayerFragment"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
然后我在我的活动中访问这个片段:
mYouTubePlayerFragment = (YouTubePlayerFragment) getFragmentManager().findFragmentById(R.id.youtubePlayerFragment);
Run Code Online (Sandbox Code Playgroud)
我初始化它:
mYouTubePlayerFragment.initialize(CategoriesTabsData.DEVELOPER_KEY, new com.google.android.youtube.player.YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(com.google.android.youtube.player.YouTubePlayer.Provider provider, com.google.android.youtube.player.YouTubePlayer youTubePlayer, boolean b) {
// loading the video
}
@Override
public void onInitializationFailure(com.google.android.youtube.player.YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
}
});
Run Code Online (Sandbox Code Playgroud)
我想在点击玩家时将“click”打印到 Log.d 。因此,当播放视频并且点击/触摸其播放器时,我想将“点击”打印到日志中
我正在尝试处理播放器上的点击(我在 onInitializationSuccess 中获取了 youtubeplayer 对象),但没有成功。
我试过这个:
mYouTubePlayerFragment.getView().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("youtube", "click");
}
});
Run Code Online (Sandbox Code Playgroud)
但它没有到达 onClick。然后,我尝试创建扩展 YouTubePlayerFragment 并实现 View.OnClickListener 的 MyYouTubePlayerFragment,因此我在 xml 中使用适当的名称(com.mypackagename.MyYouTubePlayerFragment)设置片段,并将 mYouTubePlayerFragment 的类型设置为 MyYouTubePlayerFragment,但它没有到达 onClick。
如何“捕捉”视频点击?
我认为您应该扩展 YouTubeSupportFragment 并添加到您的 YoutubePlayer (在 onInitializationSuccess 方法内)YouTubePlayer.PlaybackEventListener。
您可能对 onPaused() 和 onPlaying() 方法感兴趣。
例子:
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) {
youTubePlayer = player;
if (!wasRestored) {
youTubePlayer.setPlaybackEventListener(new YouTubePlayer.PlaybackEventListener() {
@Override
public void onPlaying() {
}
@Override
public void onPaused() {
}
@Override
public void onStopped() {
}
@Override
public void onBuffering(boolean b) {
}
@Override
public void onSeekTo(int i) {
}
});
youTubePlayer.cueVideo(currentVideoID, 0);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4659 次 |
| 最近记录: |