android - 在 Google VR 中播放 m3u8 for Android 示例

标签 android virtual-reality exoplayer

我正在尝试在来自 Google https://developers.google.com/vr/android/samples/vrview 的 VRVideoView 示例中播放 m3u8 URL .它适用于 mp4 或 flv 但在尝试使用 m3u8 时出现以下错误:

com.google.vr.sdk.samples.simplevideowidget E/VrVideoPlayerInternal: 136877483.onPlayerError com.google.android.exoplayer.ExoPlaybackException: com.google.android.exoplayer.extractor.ExtractorSampleSource$UnrecognizedInputFormatException: None of the available extractors (WebmExtractor, FragmentedMp4Extractor, Mp4Extractor, Mp3Extractor, AdtsExtractor, TsExtractor, FlvExtractor, OggExtractor, PsExtractor, WavExtractor) could read the stream. at com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:263) at com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:149) at com.google.android.exoplayer.ExoPlayerImplInternal.incrementalPrepareInternal(ExoPlayerImplInternal.java:275) at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:205) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:154) at android.os.HandlerThread.run(HandlerThread.java:61) at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)

Caused by: com.google.android.exoplayer.extractor.ExtractorSampleSource$UnrecognizedInputFormatException: None of the available extractors (WebmExtractor, FragmentedMp4Extractor, Mp4Extractor, Mp3Extractor, AdtsExtractor, TsExtractor, FlvExtractor, OggExtractor, PsExtractor, WavExtractor) could read the stream. at com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractorHolder.selectExtractor(ExtractorSampleSource.java:899) at com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable.load(ExtractorSampleSource.java:829) at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:209) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) at java.util.concurrent.FutureTask.run(FutureTask.java:237) 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)



我可以在这个错误堆栈中看到 Exoplayer 用于播放视频,但它不应该与 m3u8 一起使用吗?这是我使用的网址:http://www.nacentapps.com/m3u8/index.m3u8 .

谢谢你的帮助!

最佳答案

要播放 m3u8,您只需将选项输入格式更改为

'Uri uri = Uri.parse("https:proper_url.m3u8");
VrVideoView.Options vrVideoView = new VrVideoView.Options(); 
vrVideoView.inputFormat = VrVideoView.Options.FORMAT_HLS; 
videoWidgetView.loadVideo(uri, vrVideoView)'

关于android - 在 Google VR 中播放 m3u8 for Android 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37733669/

相关文章:

java - 清理架构和缓存失效

屏幕关闭时,Android 后台位置更新不会到来

virtual-reality - 有什么方法可以判断视频是 360 度还是全景图?

c# - 如何为Android应用程序统一访问手机后退按钮

android - Exoplayer cast 实现在 2019 年 7 月运行但在本月(2019 年 10 月)不运行且不更改任何代码,有人知道发生了什么吗?

android - 免安装应用发布错误 : targeting apk difference

android - ADMManifest.checkManifestAuthoredProperly() 实际上做了什么?

ios - 使用 iPad 指南针在 Swift 中平移图像

android - ExoPlayer AudioTrack 口吃

java - Exoplayer背景: how to set a background for exoplayer