Java BeagleBoard ICS上的VideoView错误

Java BeagleBoard ICS上的VideoView错误,java,android,android-4.0-ice-cream-sandwich,beagleboard,Java,Android,Android 4.0 Ice Cream Sandwich,Beagleboard,我正在尝试使用VideoView一个接一个地播放多个视频(.mp4格式)。它在带ICS的Android平板电脑上运行正常,但在带Android ICS的BeagleBoard硬件上运行时,会出现错误“抱歉,无法播放此视频”。logcat错误如下: MediaPlayer(3151):error(1,-110). MediaPlayer(3151):error(1,-110). VideoView(3151):error(1,-110). > public class PlayVideoA

我正在尝试使用VideoView一个接一个地播放多个视频(.mp4格式)。它在带ICS的Android平板电脑上运行正常,但在带Android ICS的BeagleBoard硬件上运行时,会出现错误“抱歉,无法播放此视频”。logcat错误如下:

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);  } }
任何建议都会有帮助。

试试以下方法:

        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);
        }
    };

你能发布完整的代码让它明白吗?写videoView.reset();而不是videoView.stopPlayback();在您的代码中,我添加了更多的代码。请检查。在完成时,您在启动intent之前调用了finish()。没有“videoview.reset()”这样的方法;我尝试了你上面的代码,它在ICS平板电脑上运行良好,但在BeagleBoard上没有。我仍然会遇到同样的错误。