修改mediaPlayer的FileInputStream setDataSource
我正在尝试修改(扩展)FileInputStream
类,以便我可以打开加密文件并将该流用于 MediaPlayer 的 setDataSource(FileDescriptor)
。问题是我不知道应该重写哪个方法来在流内进行解密。我尝试重写所有 read()
方法,但 mediaPlayer 似乎没有使用它们。
有什么建议吗?
I'm trying to modify (extend) the FileInputStream
class so that I can open an encrypted file and use the stream for MediaPlayer's setDataSource(FileDescriptor)
. Problem is I don't know which method should be overridden to do the decryption inside the stream. I tried overriding all the read()
methods, but the mediaPlayer doesn't seem to use them.
Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不认为 MediaPlayer 接受任何类型的 InputStream。您无法修改从 MediaPlayer 中使用的文件读取的数据。
MediaPlayer 接受 FileDescriptor(在本机代码中处理为从真实文件读取,不回调到 Java)。 MediaPlayer 接受 http URL。
如果您确实需要修改传递的数据,请考虑使用 本地 http 服务器 和使用 URI 设置数据源。
I don't think that MediaPlayer accepts any kind of InputStream. You can't modify data read from file that are used in MediaPlayer.
MediaPlayer accepts FileDescriptor (processed in native code as reads from real file, no call back to Java). And MediaPlayer acceps http URL.
If you really need modify passed data, consider using local http server and setDataSource with URI.