2015-03-18 16 views
5

Ho un'app per Android, che consente di riprodurre video di YouTube. Sto usando la più recente API di YouTube (1.2.1). Lo provo su diversi dispositivi all'interno di Android versione 4.0.4, 4.3, 4.4.4 o 5.0 e funziona perfettamente (su ogni dispositivo è la versione di YouTube app 10.- Ma su un dispositivo, dove è Android 4.0.4 e YouTube app 4.4.11 non funziona e riceve un errore "Si è verificato un errore durante l'inizializzazione del player di YouTube". Nella documentazione è scritto che la versione minima richiesta dell'app YouTube è 4.2.16. Quindi non so, dove è il problema.API YouTube Android "Si è verificato un errore durante l'inizializzazione del player di YouTube"

qualcuno ha un'idea, ciò che è sbagliato o come posso risolvere il problema?

Grazie mille ...

+0

E 'ancora funzionante su un'altra versione tranne 4.0.4?. Ho avuto lo stesso errore e non funziona più su nessun dispositivo. Stava funzionando bene solo di recente in qualsiasi dispositivo. –

+0

Dopo l'attualizzazione dell'app YouTube, ha iniziato a funzionare correttamente. Quindi il telefono è stato ripristinato e la versione dell'app YouTube è stata nuovamente 4.2.16, ma tutto ha funzionato correttamente. È curioso – pojta

risposta

0

si prega di provare questo. In primo luogo si dovrebbe cercare di scaricare il player di YouTube libreria per Android dal link sottostante:

Youtube Android Player

È necessario prima installare in questo modo: Progetto -> dal menu: File> Struttura> Dipendenze Tab> Aggiungi -> biblioteca dipendenza

se non funziona, si prega di provare uno di questi two:

Aggiungi dipendenza della libreria all'interno di dipendenza all'interno del file build.gradle della libreria ur utilizzando e incollare la libreria ur in Librerie esterne.

O

è sufficiente accedere alla cartella libs all'interno della cartella app e incollare tutti i .jar ad esempio file di libreria là Ora il trucco qui è che ora andare all'interno del file settings.gradle ora aggiungere questa riga include ': app: libs 'after include': app 'Funzionerà sicuramente.

Poi, si dovrebbe avere un layout simile a questo:

<com.google.android.youtube.player.YouTubePlayerView 
    android:id="@+id/player_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"/> 

E si può avere un'attività giocatore come questo:

import android.os.Bundle; 
import android.util.Log; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.widget.Toast; 
import com.google.android.youtube.player.YouTubeBaseActivity; 
import com.google.android.youtube.player.YouTubeInitializationResult; 
import com.google.android.youtube.player.YouTubePlayer; 
import com.google.android.youtube.player.YouTubePlayerView; 
import com.google.api.client.http.HttpRequest; 
import com.google.api.client.http.HttpRequestInitializer; 
import com.google.api.client.http.javanet.NetHttpTransport; 
import com.google.api.client.json.jackson2.JacksonFactory; 
import com.google.api.services.youtube.YouTube; 
import java.io.IOException; 

public class YoutubeActivity extends YouTubeBaseActivity{ 

    private YouTubePlayerView playerView; 
    private YouTube youtube; 

    @Override 
    protected void onCreate(Bundle bundle) { 
     super.onCreate(bundle); 

     setContentView(R.layout.activity_youtube); 

     youtube = new YouTube.Builder(new NetHttpTransport(), 
       new JacksonFactory(), new HttpRequestInitializer() { 
      @Override 
      public void initialize(HttpRequest hr) throws IOException {} 
     }).setApplicationName(this.getString(R.string.app_name)).build(); 


     playerView = (YouTubePlayerView)findViewById(R.id.player_view); 
     playerView.initialize("Your API Key", new YouTubePlayer.OnInitializedListener() { 
      @Override 
      public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) { 
       if(!b){ 
        String videoId = getIntent().getExtras().getString("videoID"); 
        youTubePlayer.cueVideo(videoId); 
       } 
      } 

      @Override 
      public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) { 
       Toast.makeText(getApplicationContext(), getString(R.string.failed), Toast.LENGTH_LONG).show(); 
      } 
     }); 
    } 

} 
2

Aggiornamento Android l'app di YouTube alla versione più recente e funzionerà per Sicuro!!