当前位置: 首页 > 知识库问答 >
问题:

在Android示例的Google VR中播放m3u8

杜海
2023-03-14

我正在尝试从谷歌的VRVideoView示例中播放m3u8 URLhttps://developers.google.com/vr/android/samples/vrview.它与mp4或flv配合得很好,但我在尝试m3u8时出现以下错误:

ooper.loopE/VrVideoPlayer内部:ooper.java:154PlayerErrorandroid.os.ExoPlaybackException:hread.runExtractorSampleSource$未识别的InputFormatException:没有可用的提取器(WebmExtractor, FragmentedMp4Extractor, Mp4Extractor, Mp3Extractor, AdtsExtractor, TsExtractor, FlvExtractor, OggExtractor, PsExtractor, WavExtractor)可以读取流。在hread.java:61SampleSourceTrackRcom.google.android.exoplayer.util.ThrowError(SampleSourceTrackRenderer.java:263)在com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:149)在com.google.android.exoplayer.ExoPlayerIMInternal.incremental准备内部(ExoPlayerIMInternal.java:275)在com.google.android.exoplayer.ExoPlayerIMInternal.handle消息(ExoPlayerIMInternal.java:205)在android.os.Lcom.google.vr.sdk.samples.simplevideowidget(L136877483.on)在com.google.android.exoplayer.HandlerTcom.google.android.exoplayer.extractor.(HandlerTcom.google.android.exoplayer.)在enderer.maybePriorityHandler

原因:com.google.android.exoplayer.extractor。ExtractorSampleSource$UnrecognizedInputFormatException:任何可用的提取器(WebmExtractor、FragmentedMp4Extractor、Mp4Extractor、Mp3Extractor、AdtsExtractor、TsExtractor、FlvExtractor、OggExtractor、PsExtractor、WavExtractor)都无法读取流。在com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractorHolder.selectExtractor(ExtractorSampleSource.java:899)在com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable.load(ExtractorSampleSource.java:829)在com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:209)在java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)在java.util.concurrent.FutureTask.run(FutureTask.java:237)在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)在java.lang.Thread.run(Thread.java:761)

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

谢谢你的帮助!

共有3个答案

苏选
2023-03-14
Handler mHandler = new Handler();

String userAgent = Util.getUserAgent(context, "Exo Player");

DataSource.Factory dataSourceFactory = new DefaultHttpDataSourceFactory(
                userAgent, null,
                DefaultHttpDataSource.DEFAULT_CONNECT_TIMEOUT_MILLIS,
                1800000,
                true);

HlsMediaSource mediaSource = new HlsMediaSource(Uri.parse(mediaUrl),dataSourceFactory, 1800000,mHandler, null);

if (mediaUrl != null) {
    videoPlayer.prepare(mediaSource);
    videoPlayer.setPlayWhenReady(true);
}
谷梁弘深
2023-03-14

尝试用下面代码示例中的演示url替换url,如果有效,那么您可以重用下面提供的github帐户中的示例代码:https://github.com/google/ExoPlayer/tree/master/demo/src/main/java/com/google/android/exoplayer

如果它不工作,那么文件一定有问题,或者exoplayer不支持它。。

巴学潞
2023-03-14

要玩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)'
 类似资料:
  • 我目前正在尝试学习音频编程。我的目标是打开一个wav文件,提取所有内容并使用RtAudio播放示例。 我制作了一个WaveLoader类,让我提取样本和元数据。我用这本指南来做这件事,我用010编辑器检查了一切都是正确的。这是010编辑器的快照,显示了结构和数据。 这就是我在WaveLoader类中存储原始样本的方式: 如果我打印出我得到的每个样本:1, -3, 4, -5... 问题是,我不确定

  • 本文向大家介绍Android自定义View播放Gif动画的示例,包括了Android自定义View播放Gif动画的示例的使用技巧和注意事项,需要的朋友参考一下 前言 GIF是一种很常见的动态图片格式,在Android中它的使用场景非常多,大到启动页动画、小到一个Loading展示,都可以用GIF动画来完成,使用也很方便,直接从美工那边拿过来用就成。如果项目赶时间或者自定义原生动画太麻烦,GIF都是

  • 问题内容: 我在android中实现了视频播放,这对android来说是全新的,这是我到目前为止收集的部分代码。 根据逻辑,它应该播放视频。不知道我在哪里做错了。 问题答案:

  • 我有listview,它包含一个带有播放按钮和搜索栏的音频文件列表。 当我单击listview的播放按钮时,我想播放一个音频文件。我成功地实现了这一点,但当我单击列表中的另一个播放按钮时,两个音频文件正在连续播放,它将继续所有单击播放按钮。我如何限制媒体播放器在一个位置播放,如果我点击另一个图标,它必须停止旧的媒体播放器,并开始播放新的。有人能说我怎么实现这个吗?。我有相同的按钮播放和暂停。

  • 本文向大家介绍android音乐播放简单实现的简单示例(MediaPlayer),包括了android音乐播放简单实现的简单示例(MediaPlayer)的使用技巧和注意事项,需要的朋友参考一下 利用MediaPlayer完成一个最简单的音乐播放。这个基本的控制掌握后,可直接利用为背景乐的控制。 为了能够实现播放,在界面方面,我们需要三个控制按钮,分别是:Play(播放)、Pause(暂停)、St

  • 我在服务器中创建了一个XML文件。它包含和标记。我获取标记并将它们作为链接显示在中。当用户点击链接时,我想播放电台应用程序中的文件。 下面是我的XML文件: 我不知道下一个活动中的链接怎么玩。 :