首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓应用程序不能从SD卡播放MP4

安卓应用程序不能从SD卡播放MP4
EN

Stack Overflow用户
提问于 2012-02-22 19:41:47
回答 2查看 859关注 0票数 0

我正在尝试从SD卡中获取mp4播放。这是我的第二天了。昨天它根本不起作用,今天在应用程序崩溃之前播放视频的第一秒,并出现错误: android.view.WindowManager$BadToxenException: Unable to add window -- token null is not valid;您的活动正在运行吗?

我在布局文件夹中有一个playvideo.xml文件:

代码语言:javascript
复制
<?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代码中,只有几行代码:

代码语言:javascript
复制
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();

就像我说的,视频播放一秒钟,然后应用程序就崩溃了。

有什么想法吗?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2012-02-22 20:15:24

而不是

代码语言:javascript
复制
myVideoView.setMediaController(new MediaController(getBaseContext()));

使用

代码语言:javascript
复制
myVideoView.setMediaController(new MediaController(this));

这应该是可行的。

票数 0
EN

Stack Overflow用户

发布于 2012-02-22 21:24:21

试试这段代码

VideoView videoView = (VideoView)findViewById(R.id.myvideoview);

代码语言:javascript
复制
             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();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9394089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档