Java BeagleBoard ICS上的VideoView错误
我正在尝试使用VideoView一个接一个地播放多个视频(.mp4格式)。它在带ICS的Android平板电脑上运行正常,但在带Android ICS的BeagleBoard硬件上运行时,会出现错误“抱歉,无法播放此视频”。logcat错误如下: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
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上没有。我仍然会遇到同样的错误。