2013-03-21 2 views
1

У меня есть активность, которая может создавать несколько программ YouTubePlayerView программно, вот класс, содержащий каждый YouTubePlayerView.Mutiple YouTubePlayerViews в пределах одного действия.

public class MyYouTubeView extends LinearLayout implements YouTubePlayer.OnInitializedListener { 

private String mYouTubeVideoId; 
private YouTubePlayerView mYouTubePlayerView; 

public JournalYouTubeView(Activity context, String youTubeVideoId) { 
    super(context); 
    mYouTubeVideoId = youTubeVideoId; 
    String apiKey = context.getResources().getString(R.string.youtube_api_key); 
    mYouTubePlayerView = new YouTubePlayerView(context); 
    mYouTubePlayerView.setTag(mYouTubeVideoId); 
    mYouTubePlayerView.initialize(apiKey, this); 
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, 
      LayoutParams.WRAP_CONTENT); 
    int margin = (int) ScreenUtils.dip2pixel(10, context); 
    params.leftMargin = margin; 
    params.rightMargin = margin; 
    addView(mYouTubePlayerView, params); 
} 

@Override 
public void onInitializationFailure(Provider arg0, YouTubeInitializationResult arg1) { 

} 

@Override 
public void onInitializationSuccess(YouTubePlayer.Provider provider, 
     final YouTubePlayer player, 
     boolean wasRestored) { 

    if (!wasRestored) { 
     player.cueVideo(mYouTubeVideoId); 
    } 
} 


} 

К сожалению, это не похоже на работу, когда у меня есть несколько экземпляров YouTubePlayerView в моей точки зрения иерархии. В примерах приложений API они, похоже, используют фрагменты при работе с несколькими видео, однако я не могу использовать те, у кого нет какой-либо важной реорганизации приложения. Любая помощь очень ценится.

ответ

1

Так что, кажется, (хотя не указано в документах), что вы можете размещать только одного видеопроигрывателя для каждой активности. Решение заключается в использовании ThumbNailViews, который запустит один YouTubePlayerView.

Смежные вопросы