android - 是否可以使用 exo 播放器播放加密视频?
问题描述
我想使用 Exo 播放器播放加密视频。最初,当我想通过我的应用程序播放视频时,我尝试将加密文件上传到服务器并使用加密密钥将它们存储在服务器中,我会将文件下载到本地存储并解密然后播放。所有这些过程都运行良好,没有问题,但播放单个视频需要很长时间,这很烦人,所以我知道 Exo 播放器以某种方式支持通过在线流播放加密视频。我有一些资源[ https://github.com/rohanisuhadi/DemoStreamingEncryptionExoplayer/tree/master/app/src/main/java/com/example/suhadi/demostreamingencryptionexoplayer]. 通过使用这些资源,我尝试播放未播放的加密视频,问题是我可以获得流,但 Exo 播放器没有播放流,因为我最终以以下异常结束。请帮助我。
com.google.android.exoplayer2.source.UnrecognizedInputFormatException: None of the available extractors (MatroskaExtractor, FragmentedMp4Extractor, Mp4Extractor, Mp3Extractor, AdtsExtractor, Ac3Extractor, TsExtractor, FlvExtractor, OggExtractor, PsExtractor, WavExtractor) could read the stream.
at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractorHolder.selectExtractor(ExtractorMediaPeriod.java:924)
at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:846)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:308)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
解决方案
推荐阅读
- css - Bootstrap Carousel Image Slider 无法在 React 中滑动
- javascript - Javascript 私有方法和属性
- javascript - 如何将这个级联下拉选择从 Class 转换为 React 中的功能挂钩?
- three.js - 在 Threejs 中找到网格上最接近其他点的点?
- angular - 将 API 调用中的值添加到下拉 Angular
- r - 我可以使用 R 中的官员包更改我的 docx 文件中特定单词的格式吗?
- html - HTML Bootstrap表的复杂结构
- scala - 匹配协变列表
- css - 为什么 CSS 样式不能应用于 Buefy 创建的元素?
- python - 熊猫数据框系列:检查特定值是否存在