连接QMediaPlayer和QIODevice

时间:2015-03-23 18:53:02

标签: encryption qmediaplayer qiodevice

我正在开发一个创建安全视频播放器的项目。我想在使用QMediaPlayer类的同时实现视频加密。有人可以帮我实现吗?是将解密数据写入QIO设备并以正确的方式从QIODevice读取?如果是这样,我可以得到一个示例实现?

提前致谢

1 个答案:

答案 0 :(得分:0)

是的,这是可能的方法之一。一个例子是:

  • 子类QIODevice并重新实现readData()
  • 在重新实现时,您会读取加密数据,解密并将其返回
  • 您将基于QIODevice的对象传递给QMediaPlayer。

如果你想让玩家能够寻找,你需要实现QIODevice :: IsSequential()(返回false)并实现seek / pos。如果你的加密是逐字节的(即你没有打包/填充内容),这应该是一个相当简单的实现。

另一种方法是使用QAudioDecoder + QAudioOutput。这将允许您执行一些技巧,例如首先加密原始PCM然后对其进行编码。