Embed config is not supported in RemoteEmbeddedPlayer?

Viewed 8187

Whenever I'm trying to open Youtube player in my app, onInitializationSuccess() function is always called. But it shows a blank screen.

First this error appears:

W/YouTubeAndroidPlayerAPI: Forcefully created overlay:affq@82a17f5 helper:Lazy@9b7098a view:null status: ....... {...}

and then:

E/YouTubeAndroidPlayerAPI: Embed config is not supported in RemoteEmbeddedPlayer.

Here is my code:

FragmentManager fragmentManager = ((AppCompatActivity)this.context).getSupportFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    Fragment  youtubeFragment = new YouTubePlayerSupportFragment();
    fragmentManager.beginTransaction().add(R.id.GlideLayout ,youtubeFragment).commit();


    utubevw = (YouTubePlayerSupportFragment) youtubeFragment;
    utubecontainer = imageLayout.findViewById(R.id.youtubecontainer);

    utubecontainer.setVisibility(View.VISIBLE);

    mOnInitializeListener = new YouTubePlayer.OnInitializedListener() {
        @Override
        public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
            youTubePlayer.cueVideo("_8kExcHqFi4");
            Log.i("youtube", "Successful");
        }
        @Override
        public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
            Log.i("youtube:Fail", youTubeInitializationResult.toString());
        }
    };
    utubevw.initialize(String.valueOf(R.string.googleapikey), mOnInitializeListener);

Searched everywhere, even posted in Github, but couldn't find a solution.

FYI - I don't want to use Webview to play Youtube.

3 Answers

I had the same problem just now and i was able to solve it by removing all possible overlaying views. I had a FAB just closely overlaying the youtube fragment. After moving the FAB away the error was fixed.

Try using youTubePlayer.loadVideo(" ") instead of youTubePlayer.cueVideo(" ") to auto play the video when the fragment is started. According to the docs, if you use the cueVideo() function, you need to call play() or it does not download any of the video stream. Whereas the loadVideo() auto plays the video.

I tried the answer of @PeterOla, it worked for sometime but after sometime the error came back, and after hours of struggle, i found that i had to parse just the key url (without the youtube/) in the youTubePlayer.cueVideo(""), and it worked well for me.

Related