【问题标题】:How to Play Video in Android in Videoview or WebView from Internal Storage如何在 Android 的 Videoview 或 WebView 中从内部存储播放视频
【发布时间】:2013-10-24 21:59:10
【问题描述】:

大家好,提前致谢。

经过一整天的尝试和搜索为什么视频在带有 webview 的 html 中加载或直接在带有 VideoView 的 .mp4 中加载后,我发现了问题所在。

显然,内部存储中的文件只有应用权限,但 MediaPlayer 或其他外部对象没有权限。这是正确的吗?如果我将相同的视频放在 res/raw 中,它可以毫无问题地播放。

好的。我需要我的文件在内部存储中,我从互联网 .zip 中获取文件,我在一个带有路径分隔符的位置解压缩,因为它是一个完整的结构。

所以我一直在寻找和尝试,但我找不到如何去做,因为如果我尝试授予文件权限,如果我的设备,并且它没有,我只是发现可以做一个@ 987654322@ 但这给了我一个例外,因为有路径分隔符,我无法理解这有什么问题....问题是我无法尝试当我解压缩文件时,也不会在未来的其他时刻导致路径分隔符。 ....如何为带有路径分隔符的内部文件设置全局权限?

或者我能做什么?问题是我需要让 webview 加载一个带有路径分隔符的同一文件夹中的所有图片和视频的 html .....这在内部存储中是不可能的?

真的感谢大家,任何帮助将不胜感激..

【问题讨论】:

  • 您需要实现ContentProvider 以允许其他应用访问您应用的私有存储空间。
  • 谢谢 323go .....我从来没有用过它们,我会搜索信息,我会尝试,因为我看不到这个问题的其他解决方案......
  • 这应该可以帮助您入门——这并不难。 github.com/commonsguy/cw-advandroid/tree/master/ContentProvider

标签: android webview file-permissions android-videoview internal


【解决方案1】:

我遇到了完全相同的问题。这特别麻烦,因为我在从内部存储查看 ImageView 中的图像时没有类似的问题。

根据您应用的要求,有两种方法:

  1. 内容提供者

  2. 外部存储中的临时文件

    这对我来说是最好和最简单的。我只是将视频文件复制到外部存储中(它足够小,如果它被丢弃在外部存储中也不会那么敏感),播放它,当我完成播放时(活动结束)我删除了外部文件。小便小便。

【讨论】:

    【解决方案2】:

    我会使用外部存储并在应用程序之前将读取权限添加到清单中:

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
    <application
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      相关资源
      最近更新 更多