【发布时间】:2013-05-12 15:30:50
【问题描述】:
我正在使用适用于 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(我测试过)中输入一次,因此只播放第一个视频。如何解决这个问题?
【问题讨论】:
-
我尝试在列表视图类型的应用程序中制作播放器,但失败了。当您在列表视图中播放第一个视频时,您是否尝试过滚动列表?在我的手机中,当我滚动时,它会在列表视图中的任何地方留下一个黑色矩形,你也会发生同样的事情吗?
-
嗯,不,我没有得到同样的错误,在点击视频后,列表视图继续正常工作!
标签: android youtube-api android-youtube-api