0

Ich implementiere einen YouTube-Player in meiner App mit YouTubeAndroidPlayerApi zum Abspielen von Videos, die ich in meine App hinzufüge. Es lief alles gut bis vor zwei Tagen, als plötzlich ein Fehler auftauchte. Ich habe versucht, das zu lösen, aber habe versagt. Bitte hilf mir.Android: Fehler beim Initialisieren des Youtube-Players

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); 
    } 

} 

Fehler

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)  

Kann jeder Punkt heraus, was das Problem ist. Danke im Voraus.

+0

Basierend auf diesem [forum] (http://stackoverflow.com/questions/33614190/youtubeplayersupportfragment-and-appcompactactivity-error): * "Import appcompat 23.0.1 anstelle der neuesten Version wird dieses Problem lösen." * – abielita

Antwort

-1

Hatten Sie Google Youtube App auf Ihrem Gerät?

Update youtube App von Playstore auf die neueste, oder Sie können es installieren, wenn Sie nicht haben. dann führen Sie die Youtube App,

letzten Schritt, versuchen Sie, Ihre eigene App mit youtube Player wieder zu laufen. Sag mir, wenn es funktioniert.