我正在尝试从SD卡中获取mp4播放。这是我的第二天了。昨天它根本不起作用,今天在应用程序崩溃之前播放视频的第一秒,并出现错误: android.view.WindowManager$BadToxenException: Unable to add window -- token null is not valid;您的活动正在运行吗?
我在布局文件夹中有一个playvideo.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<VideoView
android:id="@+id/myvideoview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
</LinearLayout>在java代码中,只有几行代码:
path = Environment.getExternalStorageDirectory() + "/videos/video.mp4";
Log.i("path", path);
setContentView(R.layout.playvideo);
VideoView myVideoView = (VideoView)findViewById(R.id.myvideoview);
myVideoView.setVideoPath(path);
myVideoView.setMediaController(new MediaController(getBaseContext()));
myVideoView.requestFocus();
myVideoView.start();就像我说的,视频播放一秒钟,然后应用程序就崩溃了。
有什么想法吗?
谢谢。
发布于 2012-02-22 20:15:24
而不是
myVideoView.setMediaController(new MediaController(getBaseContext()));使用
myVideoView.setMediaController(new MediaController(this));这应该是可行的。
发布于 2012-02-22 21:24:21
试试这段代码
VideoView videoView = (VideoView)findViewById(R.id.myvideoview);
videoView.setOnCompletionListener(this);//checks when end
File path = new File(mPath + "/" + mDownloadedFile);
videoView.setVideoPath(path.getAbsolutePath());
MediaController mediaController = new MediaController(this);
mediaController.setMediaPlayer(videoView);
mediaController.setAnchorView(videoView);
videoView.setMediaController(mediaController);
videoView.requestFocus();
videoView.start();https://stackoverflow.com/questions/9394089
复制相似问题