【问题标题】:Android VideoView sdcard not workingAndroid VideoView sdcard 不工作
【发布时间】:2012-07-15 23:27:42
【问题描述】:

我正在尝试使用 Android 的 VideoView 从设备上的 sdcard 文件夹中播放视频。看起来它过去工作得很好,但我重构了一些代码,现在我似乎无法让它工作。这是一个示例:

// filepath = Environment.getExternalStorageDirectory().getPath() + "/test.mp4"
videoView = new VideoView(AkadiApplication.Instance().getApplicationContext());
videoView.setVideoURI(Uri.parse(filePath));
videoView.start();
videoView.requestFocus();

我已通过应用程序验证该文件存在,因此我知道这不是 FileNotFound 问题。

另外,如果我设置了一个 onComplete 回调,它会被调用,就像视频播放一样(没有视频或声音,只是视图应该在的黑色方块)。我知道视频编解码器是有效的,因为设备在我的应用程序之外播放它。我认为这可能与权限问题有关:

http://code.google.com/p/android/issues/detail?id=10197

【问题讨论】:

  • 这段代码是什么?尝试将您的构造函数更改为 videoView = new VideoView(AkadiApplication.this); 另外,您如何将 videoView 添加到屏幕上?仅使用您发布的代码,我看不到 VideoView 是如何添加到屏幕上的。
  • 抱歉,我应该解释一下 AkadiApplication 是什么,它是应用程序的单例。它使我无论身在何处都可以访问上下文。此代码位于应返回 View 的函数内部,在本例中为已初始化并正在播放的 VideoView。没有包含 VideoView 的布局文件,我正在以编程方式将所有内容添加到 Activity。

标签: android android-videoview android-sdcard


【解决方案1】:

在你的 layout.xml 文件中创建 VideoView

 <VideoView android:id="@+id/video_view"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent">
</VideoView>

然后在java文件中

VideoView mVideoView = (VideoView) findViewById(R.id.video_view); 
mVideoView.setVideoURI(uri);
mVideoView.requestFocus();
mVideoView.start();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-17
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    相关资源
    最近更新 更多