我正在尝试播放存储在 Android 内部存储器中的视频。但是,无论我做什么,它都会返回 -1 错误或 -38 错误。两者似乎都是相当普遍的错误,因此不太容易理解。
我想知道是否可以使用 VideoView 而不是 MediaPlayer 实例来播放本地存储中的视频文件。
我的应用程序中涉及的步骤包括,
- 从远程 url 下载文件
将文件存储在内部存储中(注意我使用约定来确保它具有全局读取权限。即
openFileOutput(file_name, Context.MODE_WORLD_READABLE);
稍后从该位置读回媒体文件,并在 videoView 中播放。
String filePath = "file://" + getFilesDir()+File.separator+file_name; Uri videoUri = Uri.parse(filePath); Log.d("Video Player", filePath); videoPlayer.setVideoURI(videoUri);
我还浏览了 StackOverflow 中的其他链接,这些链接指出我需要实现一个 CustomContentProvider 才能读取这些文件。有没有一种直接的方法可以访问文件 uri 并将其设置为 videoView,而不必求助于创建自定义内容提供程序并使用 mediaPlayer 而不是 videoView。
使用的其他 StackOverflow 参考