androidyoutube-apiandroid-youtube-api

Playing different youtube videos using Youtube Player API


I´m using the Youtube Player API for Android to play videos selecting one of these in a listview (videos are previously got parsing json etc etc). The problem comes when I can only play the first video of the listview that I select, cause the player view doesnt change when I do click in a different element of the listView. This is the important code:

 lista.setOnItemClickListener(new OnItemClickListener(){

            @Override
            public void onItemClick(AdapterView<?> pariente, View view, 
                    int posicion, long id) {

                Video chosen = (Video)pariente.getItemAtPosition(posicion); 
                String urlVideo = chosen.getUrl();
                String aux = getYoutubeVideoId(urlVideo);
                URL_VIDEO = aux;

                youTubeView.initialize(KEY_DEVELOPER, new YouTubePlayer.OnInitializedListener() {

                    @Override
                    public void onInitializationFailure(Provider arg0,
                            YouTubeInitializationResult arg1) {
                        // TODO Auto-generated method stub
                        Log.d("DEPURANDO: ERROR AL VISUALIZAR", URL_VIDEO);

                    }

                    @Override
                    public void onInitializationSuccess(Provider arg0,
                            YouTubePlayer player, boolean wasRestored) {
                        // TODO Auto-generated method stub
                        if(!wasRestored){       
                            Log.d("YOUTUBE", "URL: " + URL_VIDEO);
                            player.cueVideo(URL_VIDEO);
                        }
                    }
                });
            }

I understand the problem comes because the player can't be initialized twice, so the execution only enter once in OnInitializationSucess (I tested) and therefore only plays the first video. how to solve this problem?


Solution

  • Check the last version of the YouTube API Samples

    YouTube API Samples

    I think this sample can be useful to you:

    youtube-api-samples