ak9*_*k93 4 java encryption audio android
我将如何在音频播放器 Android 应用程序中播放一组加密的音频文件?
我有一个应用程序项目,其中将一组加密的音频内容存储在用户设备上。在这种情况下,单个音频内容(例如:播客)将包含多个加密文件。该应用程序充当音频播放器,用户通过它收听音频内容。为了获得良好的用户体验,整个内容(播客)应该从一个文件无缝播放到另一个文件。这对于使用 android 的 MediaPlayer 类的普通音频文件来说非常有效。
为了安全措施,解密的文件在任何时候都不应该出现在用户设备存储上,这样用户就可以通过我的应用程序之外的任何其他方式访问该文件(即使在 root 设备上)。
要使用的加密类型尚未确定,因此我对最适合这种情况的任何算法持开放态度。
我考虑过在播放每个文件之前对其进行解密。文件大小最大为25MB,对此类文件进行AES加密/解密大约需要300毫秒,因此不会对用户体验造成太大影响。
我在这里看到两种不同的解密方法存在两个问题:
在我看来,最简单的方法是使用ExoPlayer,它是 Google 开发的开源媒体播放器。他们在这个项目上处理了很多边缘情况,这是一个不错且可靠的播放器。
最重要的是,您的需求几乎是开箱即用的,很容易实现。
您只需使用AesCipherDataSource包装 a来加载播放器FileDataSource。
因此,您的文件使用 AesCihper 进行本地加密,并由播放器本身逐块即时解密。
以下是他们的开发指南的链接:https://google.github.io/ExoPlayer/guide.html 和 AesCipher http://google.github.io/ExoPlayer/doc/reference/com/google/android /exoplayer2/upstream/crypto/AesCipherDataSource.html
| 归档时间: |
|
| 查看次数: |
4018 次 |
| 最近记录: |