我正在尝试在来自 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/