0

Я использую плеер YouTube в своем приложении, используя YouTubeAndroidPlayerApi для воспроизведения видео, добавляемого в мое приложение. Он работал отлично до двух дней назад, когда внезапно возникла ошибка. Я пытался это решить, но потерпел неудачу. Пожалуйста, помогите мне.Android: Ошибка инициализации проигрывателя Youtube

OnCreate

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.youtube_lightbox); 
     final RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.relativeLayout_youtube_activity); 
     relativeLayout.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       onBackPressed(); 
      } 
     }); 
     final YouTubePlayerView playerView = (YouTubePlayerView) findViewById(R.id.youTubePlayerView); 

     if (savedInstanceState != null) { 
      millis = savedInstanceState.getInt(KEY_VIDEO_TIME); 
     } 

     final Bundle extras = getIntent().getExtras(); 
     if (extras != null && extras.containsKey(KEY_VIDEO_ID)) { 
      mVideoId = extras.getString(KEY_VIDEO_ID); 
     } else { 
      finish(); 
     } 

     playerView.initialize(API_KEY, this); 



    } 

onInitializationSuccess

@Override 
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) { 
    mPlayer = youTubePlayer; 
    youTubePlayer.setFullscreenControlFlags(YouTubePlayer.FULLSCREEN_FLAG_CONTROL_ORIENTATION); 
    youTubePlayer.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN_FLAG_CONTROL_SYSTEM_UI); 
    youTubePlayer.setOnFullscreenListener(new YouTubePlayer.OnFullscreenListener() { 
     @Override 
     public void onFullscreen(boolean b) { 
      isFullscreen = b; 
     } 
    }); 
    if (mVideoId != null && !b) { 
     youTubePlayer.loadVideo(mVideoId); 
    } 

    if (b) { 
     youTubePlayer.seekToMillis(millis); 
    } 

} 

Ошибка

E/YouTubeAndroidPlayerAPI: Error creating YouTubePlayerView 
    com.google.android.youtube.player.internal.w$a: Exception thrown by invoked constructor in com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer 
                        at com.google.android.youtube.player.internal.w.a(Unknown Source) 
                        at com.google.android.youtube.player.internal.w.a(Unknown Source) 
                        at com.google.android.youtube.player.internal.w.a(Unknown Source) 
                        at com.google.android.youtube.player.internal.ac.a(Unknown Source) 
                        at com.google.android.youtube.player.YouTubePlayerView.a(Unknown Source) 
                        at com.google.android.youtube.player.YouTubePlayerView$1.a(Unknown Source) 
                        at com.google.android.youtube.player.internal.r.g(Unknown Source) 
                        at com.google.android.youtube.player.internal.r$c.a(Unknown Source) 
                        at com.google.android.youtube.player.internal.r$b.a(Unknown Source) 
                        at com.google.android.youtube.player.internal.r$a.handleMessage(Unknown Source) 
                        at android.os.Handler.dispatchMessage(Handler.java:102) 
                        at android.os.Looper.loop(Looper.java:145) 
                        at android.app.ActivityThread.main(ActivityThread.java:5832) 
                        at java.lang.reflect.Method.invoke(Native Method) 
                        at java.lang.reflect.Method.invoke(Method.java:372) 
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 
                       Caused by: java.lang.reflect.InvocationTargetException 
                        at java.lang.reflect.Constructor.newInstance(Native Method) 
                        at java.lang.reflect.Constructor.newInstance(Constructor.java:288) 
                        at com.google.android.youtube.player.internal.w.a(Unknown Source)  
                        at com.google.android.youtube.player.internal.w.a(Unknown Source)  
                        at com.google.android.youtube.player.internal.w.a(Unknown Source)  
                        at com.google.android.youtube.player.internal.ac.a(Unknown Source)  
                        at com.google.android.youtube.player.YouTubePlayerView.a(Unknown Source)  
                        at com.google.android.youtube.player.YouTubePlayerView$1.a(Unknown Source)  
                        at com.google.android.youtube.player.internal.r.g(Unknown Source)  
                        at com.google.android.youtube.player.internal.r$c.a(Unknown Source)  
                        at com.google.android.youtube.player.internal.r$b.a(Unknown Source)  
                        at com.google.android.youtube.player.internal.r$a.handleMessage(Unknown Source)  
                        at android.os.Handler.dispatchMessage(Handler.java:102)  
                        at android.os.Looper.loop(Looper.java:145)  
                        at android.app.ActivityThread.main(ActivityThread.java:5832)  
                        at java.lang.reflect.Method.invoke(Native Method)  
                        at java.lang.reflect.Method.invoke(Method.java:372)  
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)  
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)  
                       Caused by: java.lang.IllegalArgumentException: The concrete class implementing IObjectWrapper must have exactly *one* declared private field for the wrapped object. Preferably, this is an instance of the ObjectWrapper<T> class. 
                        at tff.a(SourceFile:76) 
                        at com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer.<init>(SourceFile:147) 
                        at java.lang.reflect.Constructor.newInstance(Native Method)  
                        at java.lang.reflect.Constructor.newInstance(Constructor.java:288)  
                        at com.google.android.youtube.player.internal.w.a(Unknown Source)  
                        at com.google.android.youtube.player.internal.w.a(Unknown Source)  
                        at com.google.android.youtube.player.internal.w.a(Unknown Source)  
                        at com.google.android.youtube.player.internal.ac.a(Unknown Source)  
                        at com.google.android.youtube.player.YouTubePlayerView.a(Unknown Source)  
                        at com.google.android.youtube.player.YouTubePlayerView$1.a(Unknown Source)  
                        at com.google.android.youtube.player.internal.r.g(Unknown Source)  
                        at com.google.android.youtube.player.internal.r$c.a(Unknown Source)  
                        at com.google.android.youtube.player.internal.r$b.a(Unknown Source)  
                        at com.google.android.youtube.player.internal.r$a.handleMessage(Unknown Source)  
                        at android.os.Handler.dispatchMessage(Handler.java:102)  
                        at android.os.Looper.loop(Looper.java:145)  
                        at android.app.ActivityThread.main(ActivityThread.java:5832)  
                        at java.lang.reflect.Method.invoke(Native Method)  
                        at java.lang.reflect.Method.invoke(Method.java:372)  
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)  
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)  

Может кто-нибудь точку в чем проблема. Заранее спасибо.

+0

Основываясь на этом [форуме] (http://stackoverflow.com/questions/33614190/youtubeplayersupportfragment-and-appcompatactivity-error): * «Импорт appcompat 23.0.1 вместо последней версии решит эту проблему». * – abielita

ответ

-1

У вас есть приложение google youtube на вашем устройстве?

обновите приложение youtube от игрового магазина до последнего, или вы можете установить его, если у вас его нет. затем запустите приложение youtube,

На последнем шаге попробуйте снова запустить свое приложение с помощью проигрывателя YouTube. скажите, если это сработает.

Смежные вопросы