gpt4 book ai didi

ios - 在 iOS 中播放加密的 mp3

转载 作者:行者123 更新时间:2023-11-28 18:25:26 25 4
gpt4 key购买 nike

我有一个 aes 加密的 mp3 文件,我需要在 iOS 中播放;出于安全原因,我无法将文件解密到磁盘,并且由于内存限制,我可能无法将其解密到内存。

有没有办法直接播放加密文件,或者将其流式传输到播放器而不将其全部加载到内存中?我真的对这个不知所措,我什至不知道从哪里开始......我正在使用 AVAudioPlayer 播放文件,但我猜它不够灵活,不能做我想做的事。

最佳答案

我不知道 AVAudioPlayer 是如何工作的,但解决这个问题的唯一方法是提供播放器可以访问的某种抽象。如果播放器只能访问"file"对象,那么你就不走运了,必须使用另一个播放器。如果播放器可以访问某种输入流(我怀疑它可以),您可以从文件创建一个流(称之为“文件流”),并从文件流创建一个解密流。您只需要了解 AES 加密,因为您需要使用已经存在的代码(如 crypto++)来创建解密流。

在伪代码中,它看起来像这样:

filestream fs = new filestream( path )
decryptionstream ds = decryptionstream( fs, decryptionkeydata )
AVAudioPlayer.open( ds );
AVAudioPlayer.play()

在内部,AVAudioPlayer 将从解密流中读取数据 block ,解密流将从文件流中提取数据,文件流将从文件中提取数据。数据将在解密流中解密,一次一个 block 。

关于ios - 在 iOS 中播放加密的 mp3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11042583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com