2012-07-16 76 views
0

我试图一个接一个地播放多个视频(.mp4格式),使用VideoView.It可以在ICS上的Android平板电脑上正常播放,但会出现错误“对不起该视频无法播放”错误我使用Android ICS在BeagleBoard硬件上运行它。logcat错误如下:BeagleBoard ICS上的VideoView错误

MediaPlayer(3151):error(1,-110). 
MediaPlayer(3151):error(1,-110). 
VideoView(3151):error(1,-110). 

> public class PlayVideoActivity extends Activity implements 
> OnCompletionListener { 
> 
> @Override protected void onCreate(Bundle savedInstanceState) { 
>  super.onCreate(savedInstanceState);   PowerManager pm = 
> (PowerManager) getSystemService(Context.POWER_SERVICE);  mWakeLock = 
> pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | 
> PowerManager.ACQUIRE_CAUSES_WAKEUP, TAG);   mWakeLock.acquire(); 
>    setContentView(R.layout.playvideo);   videoView = (VideoView) findViewById(R.id.videoView); 
>  videoView.setOnCompletionListener(this); 
>  
>  mVideoLocalPathArrayList.add("/mnt/sdcard/downloads/mediabox/film.mp4"); 
>  mVideoLocalPathArrayList.add("/mnt/sdcard/downloads/mediabox/et.mp4"); 
>  mVideoLocalPathArrayList.add("/mnt/sdcard/downloads/mediabox/interview.mp4"); 
>    playListVideo(); } 
> 
> private void playListVideo() {  try { 
>    if (Util.CURRENT_VIDEO > 2) { 
>     Util.CURRENT_VIDEO = 0; 
>    } 
>    playVideo(mVideoLocalPathArrayList.get(Util.CURRENT_VIDEO));  } catch (Exception e) {  }  private void playVideo(String string) { 
>  mediaController = new MediaController(this); 
>  mediaController.setMediaPlayer(videoView); 
>  videoView.setMediaController(mediaController); 
>  //videoView.stopPlayback(); 
>  videoView.setVideoURI(Uri.parse(string)); 
>  videoView.requestFocus(); 
>  videoView.setMediaController(mediaController);  videoView.start(); 
> } 
> 
> @Override public void onCompletion(MediaPlayer arg0) {  finish(); 
>  Util.CURRENT_VIDEO++;  Intent intent = new Intent(this, 
> PlayVideoActivity.class);   startActivity(intent); } } 

任何建议都会有帮助。

+0

u能发布完整的代码,使其了解清楚? – AkashG 2012-07-16 07:39:28

+0

write videoView.reset();而不是videoView.stopPlayback();在我们的代码 – AkashG 2012-07-16 07:44:36

+0

我已经添加了一些代码。请检查。 onCompletion上的 – 2012-07-16 07:44:47

回答

0

试试这个:

 videoView.setVideoURI(uri); 
     videoView.start(); 
     videoView.setOnCompletionListener(completionListener); 

OnCompletionListener这样写:

OnCompletionListener completionListener=new OnCompletionListener() { 

     public void onCompletion(MediaPlayer mp) { 
      mp.stop(); 
      Intent intent = new Intent(YourActivity.this, NewActivity.class); 
      startActivity(intent); 
     } 
    }; 
+0

这段代码工作得很好。 – AkashG 2012-07-16 09:53:24

+0

我试过你的上述代码,它可以在ICS平板电脑上正常工作,但不在BeagleBoard上。我仍然得到相同的错误。 – 2012-07-16 10:35:36