2017-02-27 21 views
0

私は、再生する前に復号化されるべき暗号化されたメディアファイルを持っています。 Exoplayer 1.xでは、UriDatasourceを拡張した独自のカスタムデータソースクラスを実装しましたが、ファイルが解読されましたが、exoplayer 2.xではそのようなクラスはなく、すべてのDatasourceクラスはデータソースファイルで実装できませんでした。exoplayer2.xに独自のカスタムデータソースファクトリを作成する方法は?

独自のカスタムFileを作成するにはどうすればいいですか?

私を助けてください。

ありがとうございました。

答えて

0

Aes128DataSourceのように、DataSourceインターフェイスを実装し、DataSourceを保持することができます。 kotlinコードはこのようになります:

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() 
} 
関連する問題