我正在使用ExoPlayer创建一个自定义媒体播放器(我以前已经就相同的主题提出过几个问题,因为我对Android开发非常陌生,我写的每一行代码似乎都碰壁了)。
要做到这一点,我认为我需要创建一个自定义媒体源--但是我找不到任何关于这样做的好文档或教程。关于MediaSources的ExoPlayer文档在这种情况下实际上毫无用处,只描述了如何利用ConcatenatingMediaSource、MergingMediaSource和LoopingMediaSource来自定义媒体的播放。
继续我自己的研究,我想要的可能是可以用一个自定义提取器来完成的。当我将内容传递给ExtractorMediaSource时,我收到错误com.google.android.exoplayer2.source.unrecognizedInputFormatException:没有可用的提取器(MatroskaExtractor、FragmentedMp4Extractor、Mp4Extractor、Mp3Extractor、AdtsExtractor、Ac3Extractor、TsExtractor、FlvExtractor、OggExtractor、PsExtractor、WavExtractor、AmrExtractor)可以读取流。
。这让我想知道,让提取器解析XML、提取内容并将数据传回是否更好。我还不确定这两个组件之间有什么区别,也不知道哪一个更适合,而且缺乏文档。
因此,解析这个XML文件应该是视频播放器的责任,而不是客户端的应用程序的责任。
因此,您实际上是在试图为底层播放器创建一个分发视频的新模式(不管是什么,都要处理)。这似乎是客户端逻辑。然而,你想要一个答案,所以我会试着给你一个。
首先,exoplayer
中的提取器
不应用于解析XML
,根据文档:
然而,我不建议这样做。在这种情况下,最好的选择是创建解析器
来获取内容Url,并将其传递给底层播放器。您的内容Url将链接到MP4
容器,可能是DRM内容等,但所有这些都可以由播放器很好地处理,而不会增加所有其他复杂性。
至于创建广告,这可以通过以下几种方式完成:
ConcateNatingMediaSource
,为此您需要解析XML
为内容和每个广告创建MediaSource
,然后将这些添加到ConcateNatingMediaSource
.exoplayer
提供的adsloader
。这是最好的解决方案,但遗憾的是缺乏文档。为此,您可以提供一个链接来加载广告,并提供一个单独的链接来加载内容。如果您想了解如何执行某些方面的操作,我建议您看看我们的开源库,它在底层使用exo-player
。我们最近甚至开始使用adsloader
。https://github.com/novoda/no-player
我找不到那个方法。
问题内容: 我正在尝试开始学习如何创建套接字服务器。我想添加一些有用的功能(例如auth,也许还有其他一些功能)。也许有人可以给我指出一个很好的教程,这将帮助我入门(+也许还有其他一些想法) 问题答案: 看这里:60秒内扭曲的网。这是一组博客文章,逐步描述了如何使用Twisted做很多常见的事情,所有这些都是由Twisted的最大贡献者Jean- Paul Calderone撰写的。这确实是您应该
我正在尝试用Angular和一个基本的REST后端来构建一个项目的前端部分,该后端还可以处理安全问题。 我对Spring有非常基本的了解,但还没有真正使用Spring Security。 我正试图找到一种方法来构建一个安全的简单REST后端。我在网上搜索了很多,找到的主要内容是本教程:https://spring.io/guides/tutorials/spring-security-and-an
问题内容: 当我在其中放置bean定义时,出现一条错误消息,指示Tomcat 7无法启动,因为有一个。我将整个堆栈跟踪上传到了文件共享站点,您可以通过单击此链接来阅读。但是,当我注释掉bean定义并尝试重新启动服务器时,我收到另一条错误消息,指示没有的bean定义。您可以通过单击此链接在文件共享站点上阅读第二个堆栈跟踪。 那么我应该将bean定义放在哪里,其语法应该是什么? 我认为问题可能在于,我
问题内容: 我应该调用哪个头文件才能将PATH_MAX用作用于调整字符串大小的int? 我希望能够声明: 但是当我这样做时,我的编译器(Linux上为Clang / LLVM)发出以下错误: 我试图做一个谷歌搜索,但仍然没有运气。 不能解决问题/错误。 我是否也正确将PATH_MAX的值设置为int? 问题答案: 它在。 如本博客所述存在一些缺陷(感谢paulsm4)
问题内容: 我在ASP.Net中有一个WebAPI 2.0项目,在其中实现了自定义的DefaultContractResolver,以便可以控制如何使用JSON.Net将实体序列化为JSON。但是我不确定如何告诉框架使用我的自定义实现。我也想知道是否有可能更改特定控制器/动作的ContractResolver。 谢谢! -–编辑03/07/2014我已经通过创建一个新的ConfigSettings