我正在使用适用于 Android 的 Youtube Player API 播放视频,在其中选择其中一个listview
(视频以前解析过 json 等)。当我只能播放listview
我选择的第一个视频时出现问题,导致当我单击 listView 的不同元素时播放器视图不会改变。这是重要的代码:
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);
}
}
});
}
我知道问题是因为播放器无法初始化两次,所以执行只在OnInitializationSucess
(我测试过)中输入一次,因此只播放第一个视频。如何解决这个问题呢?