Android 外部播放器未从文件中播放
我用Android 外部播放器未从文件中播放,android,exoplayer,Android,Exoplayer,我用hlsrenderbuilder设置了一个ExoPlayer。 到目前为止,我一直在向服务器上的m3u8流文件传递Uri。它工作得很好。 现在,我可以选择将视频下载到您的手机,并从存储器中播放视频。我已成功地从给定链接下载了该文件,并将其存储在app private文件夹中。已请求并批准访问外部存储的所有权限。 在本例中,我从下载的文件中传递一个Uri。 Uri如下所示:file:///storage/emulated/0/video/file.mp4。当我开始播放时,文件从未加载。我在日志
hlsrenderbuilder
设置了一个ExoPlayer
。
到目前为止,我一直在向服务器上的m3u8
流文件传递Uri。它工作得很好。
现在,我可以选择将视频下载到您的手机,并从存储器中播放视频。我已成功地从给定链接下载了该文件,并将其存储在app private文件夹中。已请求并批准访问外部存储的所有权限。
在本例中,我从下载的文件中传递一个Uri。
Uri如下所示:file:///storage/emulated/0/video/file.mp4
。当我开始播放时,文件从未加载。我在日志中没有得到任何异常或错误。有人能帮我提出一个方法吗?如果需要,我将提供代码片段,但不确定哪部分有用
我有ExoPlayer.Listener
,它记录我的播放器状态
finish()李>
当我尝试从本地存储播放流文件时,我确实遇到了FileNotFound
异常,它找不到该文件,流文件中列出的媒体的下一部分。我想问题出在播放器的设置上?不确定…当您使用hlsrenderbuilder
时,我认为您应该传递.m3u8
播放列表文件。我是根据我使用DashRenderBuilder
的经验编写的,但我相信HLSRenderBuilder
的工作方式非常相似。渲染器可能正在尝试解析包含多个.mp4
(或.ts
)文件的播放列表,但您只提供了一个.mp4
文件
尝试下载.m3u8
文件中列出的所有文件,包括播放列表文件,然后像file:///storage/emulated/0/video/movie.m3u8
到您的渲染器
希望有帮助 对于本地(视频/音频)文件,需要使用不同的渲染器生成器
是你应该看的东西。是的!非常感谢。我已经弄明白了。做了同样的,作为答案。是的,事实上你是对的。我知道.m3u8
文件是一个播放列表文件。我知道我必须设置不同的渲染器才能渲染.mp4
文件。我给+1,这是一个很好的观点。