Java 来自Youtube API的视频不会播放onClick
我不知道确切的原因,但由于某些原因,我的视频似乎没有播放时点击。相反,他们在播放器中排队,但不玩。以前有没有人经历过这种情况,或者知道如何解决这个问题 资料来源:Java 来自Youtube API的视频不会播放onClick,java,android,youtube,youtube-api,android-youtube-api,Java,Android,Youtube,Youtube Api,Android Youtube Api,我不知道确切的原因,但由于某些原因,我的视频似乎没有播放时点击。相反,他们在播放器中排队,但不玩。以前有没有人经历过这种情况,或者知道如何解决这个问题 资料来源: public class Home extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener, YouTubeThumbnailView.OnInitializedListener { public static final Stri
public class Home extends YouTubeBaseActivity implements
YouTubePlayer.OnInitializedListener,
YouTubeThumbnailView.OnInitializedListener {
public static final String API_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
public static final String VIDEO_ID = "o7VVHhK9zf0";
public static final String VIDEO1_ID = "xVHHJqntuXI";
public static final String VIDEO2_ID = "YWteQj_q3Ro";
public static final String VIDEO3_ID = "83ZgtqTw-mI";
public static final String VIDEO4_ID = "n5wMza29JwI";
private YouTubePlayer youTubePlayer;
private YouTubePlayerView youTubePlayerView;
private YouTubeThumbnailView youTubeThumbnailView1;
private YouTubeThumbnailView youTubeThumbnailView2;
private YouTubeThumbnailView youTubeThumbnailView3;
private YouTubeThumbnailView youTubeThumbnailView4;
private String[] drawerListViewItems;
private DrawerLayout drawerLayout;
private DrawerLayout mDrawerLayout;
private ListView drawerListView;
private ListView mDrawerList;
private ActionBarDrawerToggle actionBarDrawerToggle;
private ActionBarDrawerToggle mDrawerToggle;
private YouTubeThumbnailLoader youTubeThumbnailLoader;
ScrollView mainScrollView;
Button fav_up_btn1;
Button fav_dwn_btn1;
ArrayAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
final ActionBar actionBar = getActionBar();
actionBar.setCustomView(R.layout.actionbar_custom_view_home);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
// get list items from strings.xml
drawerListViewItems = getResources().getStringArray(R.array.items);
// get ListView defined in activity_main.xml
drawerListView = (ListView) findViewById(R.id.left_drawer);
// Set the adapter for the list view
drawerListView.setAdapter(new ArrayAdapter<String>(this,
R.layout.drawer_listview_item, drawerListViewItems));
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
actionBarDrawerToggle = new ActionBarDrawerToggle(this, /* host Activity */
drawerLayout, /* DrawerLayout object */
R.drawable.ic_drawer, /* nav drawer icon to replace 'Up' caret */
R.string.drawer_open, /* "open drawer" description */
R.string.drawer_close /* "close drawer" description */
);
drawerLayout.setDrawerListener(actionBarDrawerToggle);
getActionBar().setDisplayHomeAsUpEnabled(true);
drawerLayout.setDrawerShadow(R.drawable.drawer_shadow,
GravityCompat.START);
youTubePlayerView = (YouTubePlayerView) findViewById(R.id.youtubeplayerview);
youTubePlayerView.initialize(API_KEY, this);
mainScrollView = (ScrollView) findViewById(R.id.groupScrollView);
youTubeThumbnailView1 = (YouTubeThumbnailView) findViewById(R.id.youtubethumbnailview1);
youTubeThumbnailView1.initialize(API_KEY, this);
fav_up_btn1 = (Button) findViewById(R.id.fav_up_btn1);
fav_up_btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean favIsUp = fav_up_btn1
.getBackground()
.getConstantState()
.equals(getResources().getDrawable(
R.drawable.fav_up_btn1).getConstantState());
// set the background
fav_up_btn1
.setBackgroundResource(favIsUp ? R.drawable.fav_dwn_btn1
: R.drawable.fav_up_btn1);
}
});
youTubeThumbnailView1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (youTubePlayer != null) {
youTubePlayer.cueVideo(VIDEO1_ID);
youTubePlayer.play();
mainScrollView.smoothScrollTo(0, 0);
}
}
});
youTubeThumbnailView2 = (YouTubeThumbnailView) findViewById(R.id.youtubethumbnailview2);
youTubeThumbnailView2.initialize(API_KEY, this);
youTubeThumbnailView2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg1) {
if (youTubePlayer != null) {
youTubePlayer.cueVideo(VIDEO2_ID);
youTubePlayer.play();
mainScrollView.smoothScrollTo(0, 0);
}
}
});
youTubeThumbnailView3 = (YouTubeThumbnailView) findViewById(R.id.youtubethumbnailview3);
youTubeThumbnailView3.initialize(API_KEY, this);
youTubeThumbnailView3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg1) {
if (youTubePlayer != null) {
youTubePlayer.cueVideo(VIDEO3_ID);
youTubePlayer.play();
mainScrollView.smoothScrollTo(0, 0);
}
}
});
youTubeThumbnailView4 = (YouTubeThumbnailView) findViewById(R.id.youtubethumbnailview4);
youTubeThumbnailView4.initialize(API_KEY, this);
youTubeThumbnailView4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg1) {
if (youTubePlayer != null) {
youTubePlayer.cueVideo(VIDEO4_ID);
youTubePlayer.play();
mainScrollView.smoothScrollTo(0, 0);
}
}
});
}
@Override
public void onInitializationFailure(Provider provider,
YouTubeInitializationResult result) {
}
@Override
public void onInitializationSuccess(Provider provider,
YouTubePlayer player, boolean wasRestored) {
youTubePlayer = player;
if (!wasRestored) {
player.cueVideo(VIDEO_ID);
}
}
@Override
public void onInitializationFailure(YouTubeThumbnailView thumbnailView,
YouTubeInitializationResult error) {
}
@Override
public void onInitializationSuccess(YouTubeThumbnailView thumbnailView,
YouTubeThumbnailLoader thumbnailLoader) {
youTubeThumbnailLoader = thumbnailLoader;
thumbnailLoader
.setOnThumbnailLoadedListener(new ThumbnailLoadedListener());
youTubeThumbnailLoader.setVideo(VIDEO_ID);
}
private final class ThumbnailLoadedListener implements
YouTubeThumbnailLoader.OnThumbnailLoadedListener {
@Override
public void onThumbnailError(YouTubeThumbnailView arg0, ErrorReason arg1) {
}
@Override
public void onThumbnailLoaded(YouTubeThumbnailView arg0, String arg1) {
}
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
actionBarDrawerToggle.onConfigurationChanged(newConfig);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// call ActionBarDrawerToggle.onOptionsItemSelected(), if it returns
// true
// then it has handled the app icon touch event
if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
公共类Home扩展了YouTubeBaseActivity实现
youtubeplyer.OnInitializedListener,
YouTubeThumbnailView.OnInitializedListener{
公共静态最终字符串API_KEY=“XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”;
公共静态最终字符串视频_ID=“o7VVHhK9zf0”;
公共静态最终字符串VIDEO1_ID=“xvhjqntuxi”;
公共静态最终字符串VIDEO2_ID=“YWteQj_q3Ro”;
公共静态最终字符串VIDEO3_ID=“83ZgtqTw mI”;
公共静态最终字符串VIDEO4_ID=“n5wMza29JwI”;
私人YouTubePlayer YouTubePlayer;
私人YouTubePlayerView YouTubePlayerView;
私有YouTubeThumbnailView youTubeThumbnailView1;
私有YouTubeThumbnailView YouTubeThumbnailView 2;
私有YouTubeThumbnailView YouTubeThumbnailView 3;
私有YouTubeThumbnailView YouTubeThumbnailView 4;
私有字符串[]抽屉列表视图项;
私人抽屉布局;
私人抽屉布局mDrawerLayout;
私有列表视图抽屉列表视图;
私有列表视图mDrawerList;
私人动作bardrawertoggle动作bardrawertoggle;
私有操作bardrawertoggle mDrawerToggle;
私人YouTubeThumbnailLoader YouTubeThumbnailLoader;
滚动视图主滚动视图;
按钮fav_up_btn1;
按钮fav_dwn_btn1;
阵列适配器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
最终ActionBar ActionBar=getActionBar();
actionBar.setCustomView(R.layout.actionBar\u custom\u view\u home);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
//从strings.xml获取列表项
DroperListViewItems=getResources().getStringArray(R.array.items);
//获取在activity_main.xml中定义的ListView
抽屉列表视图=(列表视图)findViewById(R.id.left\u抽屉);
//设置列表视图的适配器
DroperListView.setAdapter(新阵列适配器)(此,
R.layout.drawer_listview_item,drawerlistview items));
抽屉布局=(抽屉布局)findViewById(R.id.抽屉布局);
actionBarDrawerToggle=新的actionBarDrawerToggle(此,/*主机活动*/
抽屉布局,/*抽屉布局对象*/
R.drawable.ic_抽屉,/*导航抽屉图标替换“Up”插入符号*/
R.string.drawer\u open,/*“open drawer”说明*/
R.string.drawer\u close/*“close drawer”说明*/
);
抽屉布局。setDrawerListener(actionBarDrawerToggle);
getActionBar().setDisplayHomeAsUpEnabled(true);
抽屉布局。设置抽屉阴影(R.drawable.drawer_阴影,
重力比较(启动);
youTubePlayerView=(youTubePlayerView)findViewById(R.id.youTubePlayerView);
初始化(API_键,this);
mainScrollView=(ScrollView)findViewById(R.id.groupScrollView);
youTubeThumbnailView1=(YouTubeThumbnailView)findViewById(R.id.youTubeThumbnailView1);
youTubeThumbnailView1.initialize(API_键,this);
fav_up_btn1=(按钮)findviewbyd(R.id.fav_up_btn1);
fav_up_btn1.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
布尔favIsUp=fav\u up\u btn1
.getBackground()
.getConstantState()
.equals(getResources().getDrawable(
R.drawable.fav_up_btn1).getConstantState();
//背景
fav_up_btn1
.setBackgroundResource(favIsUp?R.drawable.fav_dwn_btn1
:R.可拉拔。fav_up_btn1);
}
});
youTubeThumbnailView1.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图arg0){
if(youtubeplyer!=null){
youtubeplyer.cueVideo(VIDEO1_ID);
youTubePlayer.play();
mainScrollView.smoothScrollTo(0,0);
}
}
});
youTubeThumbnailView2=(YouTubeThumbnailView)findViewById(R.id.youTubeThumbnailView2);
youTubeThumbnailView2.initialize(API_键,this);
youTubeThumbnailView2.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图arg1){
if(youtubeplyer!=null){
youtubeplyer.cueVideo(VIDEO2_ID);
youTubePlayer.play();
mainScrollView.smoothScrollTo(0,0);
}
}
});
youTubeThumbnailView3=(YouTubeThumbnailView)findViewById(R.id.youTubeThumbnailView3);
youTubeThumbnailView3.initialize(API_键,this);
youTubeThumbnailView3.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图arg1){
if(youtubeplyer!=null){
youtubeplyer.cueVideo(VIDEO3_ID);
youTubePlayer.play();
mainScrollView.smoothScrollTo(0,0);
}
}
});
youTubeThumbnailView4=(YouTubeThumbnailView)findViewById(R.id.youTubeThumbnailView4);
youTubeThumbnailView4.initialize(API_键,this);
youTubeThumbnailView4.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图arg1){
if(youtubeplyer!=null){
youtubeplyer.cueVideo(VIDEO4_ID);
youTubePlayer.play();
youTubePlayer.cueVideo(VIDEO1_ID);
youTubePlayer.play();
youTubePlayer.loadVideo(VIDEO1_ID);