videoview oncompletionlistener未在android中调用?
我在imageview的并且videoview显示图像和视频,但问题是当视频是 打onpreparedlistener调用,但是当视频完成oncompletion听者不叫 时videoview完全i递增为下一个视频或图像videoview oncompletionlistener未在android中调用?
也是它的我给我的错误在这样但视频logcat的播放
10-29 20:12:47.770:E/MediaPlayer的(3975):错误(1,-2147483648)
private void nextVideo(String path){
mImageview.setVisibility(View.GONE);
if(mVideoview.getVisibility()==View.GONE){
mVideoview.setVisibility(View.VISIBLE);
}
controller = new MediaController(HomeActivityNewViewPager.this);
mVideoview.setVideoURI(Uri.parse(path));
mVideoview.setMediaController(null);
controller.setMediaPlayer(mVideoview);
mVideoview.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
mVideoview.start();
long duration = mVideoview.getDuration();
second=duration;
//handler.removeCallbacks(runnable);
//handler.postDelayed(runnable,second);
}
});
mVideoview.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Log.v("video view completed","---"+i);
mp.reset();
if(automode){
if(i==myplaylistlocal.size() || i>myplaylistlocal.size())
{
String checkcount=spreferences.getString("roundcount", "");
Log.v("roundcount==Before Integer.parseInt","---->"+roundcount);
if(roundcount>=Integer.parseInt(checkcount))
{
roundcount=0;
Log.v("roundcount==After Integer.parseInt","---->"+roundcount);
updateplaylist();
}
i=0;
indexplus();
imagesautomode();
i++;
}
else if(i==myplaylistlocal.size()-1)
{
imagesautomode();
i++;
}
else{
imagesautomode();
}
}
else{
i++;
images();
}
}
});
mVideoview.setOnErrorListener(new OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.v("Error in video playing","----->"+i);
return true;
}
});
}
无论哪种方式,上面引用的错误是MEDIA_ERROR_UNKNOWN。如果这个视频是为这个应用程序,我会确保它是适当的Android编码。还要确保清楚地定义了它的端点。
http://developer.android.com/reference/android/media/MediaPlayer.html#MEDIA_ERROR_UNKNOWN
这是一个解决办法,但可能会在您的情况possbly工作:
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
if(what == MediaPlayer.MEDIA_ERROR_UNKNOWN)
//ERROR UNKNOWN - COULD BE IMPROPERLY FORMATTED VIDEO {
//MOVE ON TO NEXT VIDEO
//DO LOGGING
}
}
没有得到你,所以它取决于视频? – Mahesh 2014-10-29 14:58:44
对,我遇到了一种情况,那就是自定义视频的结尾标签不正确,而媒体播放器不知道如何完成它们。您正在尝试使用的视频是否使用了自定义视频? – 2014-10-29 15:02:16
你得到任何错误,从视频播放器了?有些代码可能是不正确的格式等。我注意到一些视频编码不正确,并在视频播放器认为他们完成之前结束。 – 2014-10-29 14:48:39
10-29 20:12:47.770:E/MediaPlayer(3975):错误(1,-2147483648)这是显示在logcat中,但仍然onerrorlistner不叫 – Mahesh 2014-10-29 14:56:01