我已将示例mp4视频保存在文件中的android内部存储中,但是当尝试通过将文件路径解析为uri时从android videoview中读取并播放时,我无法播放此视频错误。我检查了很多链接但没有用,我该如何实现呢?
SELECT cast(link_option_id,varchar)
FROM product_link
WHERE link_member_id = '146'
答案 0 :(得分:0)
简单地说,你不能。 VideoView
内部使用MediaPlayer
,明确requires a file to be world-readable(app的目的不是)。正如文档所述,绕过此限制的唯一方法是传递文件描述符而不是文件路径。
不幸的是VideoView
没有类似setDataSource(FileDescriptor)
的方法,所以你有两种方法:
VideoView
的{{1}} through reflection并致电setDataSource(FileDescriptor)
。不确定这是否是一个可行的解决方案,因为内部媒体播放器在你调用MediaPlayer
时被实例化,但你不应该调用它...简而言之,评估它,但它可能是一个死路。VideoView.setVideoPath
,set a surface holder直接将MediaPlayer
传递给FileDescriptor
(即使第二种解决方案更清晰)。