Modifying FileInputStream for mediaPlayer setDataS

2019-01-20 13:22发布

问题:

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?

回答1:

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.