Per favore, vieni con me dato che sono abbastanza nuovo per Android. Sto cercando di inizializzare il player di YouTube in una classe frammento. Google ha già fornito il metodo per inizializzare in attività che va come segue:Inizializzazione del player di YouTube in Fragment
package com.examples.youtubeapidemo;
import com.google.android.youtube.player.YouTubeBaseActivity;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayerView;
import android.os.Bundle;
public class PlayerViewDemoActivity extends YouTubeFailureRecoveryActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.playerview_demo);
YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);
youTubeView.initialize(DeveloperKey.DEVELOPER_KEY, this);
}
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player,
boolean wasRestored) {
if (!wasRestored) {
player.cueVideo("wKJ9KzGQq0w");
}
}
@Override
protected YouTubePlayer.Provider getYouTubePlayerProvider() {
return (YouTubePlayerView) findViewById(R.id.youtube_view);
}
}
Ho provato ad utilizzare questo codice, ma la sua non funziona:
public class TabFragment5 extends YouTubePlayerFragment implements YouTubePlayer.OnInitializedListener {
/** (non-Javadoc)
* @see android.support.v4.app.Fragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)
*/
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (container == null) {
return null;
}
YouTubePlayerFragment yf = newInstance(); //new YouTubePlayerFragment();
yf.initialize("dsds", this);
return (LinearLayout)inflater.inflate(R.layout.tab_frag4_layout, container, false);
}
@Override
public void onInitializationFailure(Provider arg0,
YouTubeInitializationResult arg1) {
// TODO Auto-generated method stub
}
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player,
boolean wasRestored) {
if (!wasRestored) {
player.cueVideo("nCgQDjiotG0");
}
}
}
sarei molto grato se qualcuno può fornire API equivalente per frammento.
Grazie
Nel caso in cui il frammento è stato distrutto, e ricevere CV (ad esempio usando l'impostazione Non tenere l'attività), il mio mplayer non è più valido. L'inizializzazione non raggiunge piùInitilizationSuccess ... in quanto YouTube potrebbe ripristinare il proprio stato. Come posso ottenere ripristinare mPlayer? – Elye
@Elye: hai trovato una soluzione per il tuo scenario? –
@Elye sembra che YouTube usi lo stesso layout per entrambi gli orientamenti, quindi nessuna modifica in onConfigurationChanged – user5599807