首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法在Exoplayer中播放android扩展文件OBB中的OGG音频文件

无法在Exoplayer中播放android扩展文件OBB中的OGG音频文件
EN

Stack Overflow用户
提问于 2018-02-01 22:06:09
回答 1查看 538关注 0票数 1

我最近将我的应用程序音频文件资源切换到了一个扩展文件。问题是,当我使用APEZProvider读取音频文件时,该应用程序不会播放任何内容。

请参阅Exoplayer错误:

代码语言:javascript
代码运行次数:0
运行
复制
E/ExoPlayerImplInternal: Source error.
                     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:705)
                         at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:628)
                         at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:295)
                         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
                         at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
                         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
                         at java.lang.Thread.run(Thread.java:818)
E/MMParserExtractor: FileSource::FILE_SOURCE_DATA_EN

我的自定义APEZProvider:

代码语言:javascript
代码运行次数:0
运行
复制
public class ZipFileContentProvider extends APEZProvider {
String AUTHORITY = "sample.sample";

@Override
public String getAuthority() {
    return AUTHORITY;
}

public Uri readAudioFileFromObb(String filename){

    String path = "content://" + AUTHORITY + File.separator + filename;

    return Uri.parse(path);
}
}

我的AndroidManifest.xml

代码语言:javascript
代码运行次数:0
运行
复制
    <provider
        android:authorities="sample.sample"
        android:name=".PlaySong.ZipFileContentProvider"
        android:exported="true"
        android:multiprocess="true">
        <meta-data
            android:name="mainVersion"
            android:value="14"></meta-data>
    </provider>

Exoplayer版本= 'r2.2.0‘

EN

回答 1

Stack Overflow用户

发布于 2018-02-02 16:58:38

我怀疑您还需要在APEZContentProvider中覆盖getType()方法才能返回适当的音频类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48564644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档