我发现了一个关于如何创建 YouTube 视频 ListView 的非常有用的教程:
http://blog.blundell-apps.com/show-youtube-user-videos-in-a-listview/
然后我按照另一个教程使 ListView 中的视频可点击:
http://blog.blundell-apps.com/click-item-in-a-listview-to-show-youtube-video/
我的问题是我不想使用 YouTube 应用程序播放视频 - 我想在我的应用程序中播放它们 - 所以我创建了一个 YouTube 播放器的实例:
http://android-er.blogspot.com/2013/06/simple-example-using-youtube-android.html
我的问题是如何修改当前的 onClick 监听器以在 onClick 事件期间将视频 ID 传递到应用程序的内部播放器而不是 YouTube 应用程序?
onClick Listener (currently passing to standalone YouTube app):
@Override
public void onVideoClicked(Video video) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(video.getUrl()));
startActivity(intent);
}
我的内部 Youtube 播放器:
public class MainActivity extends YouTubeBaseActivity implements
YouTubePlayer.OnInitializedListener{
public static final String API_KEY = "AIzaSyCe6tORd9Ch4lx-9Ku5SQ476uS9OtZYsWA";
public static final String VIDEO_ID = "o7VVHhK9zf0";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
YouTubePlayerView youTubePlayerView = (YouTubePlayerView)findViewById(R.id.youtubeplayerview);
youTubePlayerView.initialize(API_KEY, this);
}
@Override
public void onInitializationFailure(Provider provider,
YouTubeInitializationResult result) {
Toast.makeText(getApplicationContext(),
"onInitializationFailure()",
Toast.LENGTH_LONG).show();
}
@Override
public void onInitializationSuccess(Provider provider, YouTubePlayer player,
boolean wasRestored) {
if (!wasRestored) {
player.cueVideo(VIDEO_ID);
}
}
}
最佳答案
类似于:
@Override
public void onVideoClicked(Video video) {
Intent intent = new Intent(this, MainActivity.class); // Your youtubeplayer activity
intent.putExtra("video_id",video_id);
startActivity(intent);
}
在 MainActivity
onCreate() 中,您获取 id 并将其传递给您的 Youtube 播放器:
getIntent().getStringExtra("video_id");
关于java - 修改/增强 YouTube 教程以在内部播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20474683/