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

时间:2015-02-05 17:30:55

标签: java android encryption 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);
    }

1 个答案:

答案 0 :(得分:1)

您可以编写一个接受InputStream的自定义DataSource:对于DataSource,您只需实现open(DataSpec),close()和read(byte [] buffer,int offset,int readLength)。让我感到惊讶的是,ExoPlayer中似乎没有任何实现。对于他们的瑞士军刀来说,这似乎是一个明显的刀刃。