如何使用ExoPlayer播放DES加密文件

Ada*_*m W 6 java encryption android des

我正在使用ExoPlayer从设备的SD卡播放媒体文件(mp4s .h264编码).一些文件是DES加密的.我可以解密文件并返回一个inputStream,但后来我不确定如何使用ExoPlayer播放这个inputStream.任何帮助,将不胜感激.

protected void playVideo(File file) {
        InputStream is;
        if (file.getName().endsWith(".DES")) {
            is = FileManager.decryptFile(file);
            //what to do with this input stream?
        }

        Uri uri = Uri.parse(file.getAbsolutePath());

        if (mPlayer != null) {
            mPlayer.release();
        }

        mPlayer = new VideoPlayer(getRendererBuilder(uri));
        mPlayer.addListener(this);
        if (mLastPosition > 0) {
            mPlayer.seekTo(mLastPosition);
        }

        mPlayer.prepare();
        mPlayer.setSurface(mSurface);
        mPlayer.setPlayWhenReady(true);
    }
Run Code Online (Sandbox Code Playgroud)

Mik*_*lov 1

您可以编写一个接受输入流的自定义数据源:对于数据源,您只需实现 open(DataSpec)、close() 和 read(byte[] buffer, int offset, int readLength)。令我惊讶的是,ExoPlayer 中似乎还没有任何可用的实现。这似乎是他们瑞士军刀的明显刀片。