首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在exoplayer2.x中创建自己的自定义数据源工厂?

如何在exoplayer2.x中创建自己的自定义数据源工厂?
EN

Stack Overflow用户
提问于 2017-02-27 20:32:20
回答 1查看 1.3K关注 0票数 0

我有加密的媒体文件,需要在播放前解密。在exoplayer1.x中,我实现了我自己的自定义数据源类,它扩展了UriDatasource,其中的文件被解密,但在exoplayer2.x中没有这样的类,所有的数据源类都是最终的,不能在我的数据源文件中实现。

如何利用我们的自定义文件数据源编写自己的自定义文件数据源工厂?

在这方面请帮帮我。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-06-27 21:53:38

Aes128DataSource类似,您可以实现DataSource接口并在其中保留DataSource。kotlin代码如下:

代码语言:javascript
复制
 class SecDataSource(upstream: DataSource): DataSource{
   val upstream = upstream
   override fun open(dataSpec: DataSpec) = upstream.open(dataSpec)
   override fun read(buffer: ByteArray, offset: Int, readLength: Int){
     var size = upstream.read(buffer, offset, readLength)
     //decrypt the buffer here
     decrypt(buffer)
     return size
   }
   override fun getUri() = upstream.uri
   override fun close() = upstream.close()
 }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42485906

复制
相关文章

相似问题

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