use*_*784 8 encryption audio dart flutter
项目需求:音乐播放器应用程序,它将下载音频文件,加密并保存它们。音频文件只能在应用程序中播放。其他应用程序不应能够播放这些文件。用户也不应该能够复制文件。
方法:我不希望整个解密的音频文件在任何时候都存在。所以我想在下载音频文件后立即对其进行加密。然后,当要播放文件时,我希望它被逐块解密并播放。我相信这可以通过使用流来实现。据我搜索,名为“just_audio”的包可以播放流源中的音频。
问题:我找不到任何 Flutter/Dart 的加密包,它将以流的形式输出解密的数据。这是我第一次尝试实现加密/解密,所以我在这方面的知识很差。
笔记:
选项:
首先,要加密或解密数据,请查看https://pub.dev/packages/cryptography或https://pub.dev/packages/encrypt或类似的内容。
其次,既然你想要寻找,那么使用流可能不是一个最佳解决方案——“流”抽象更像是一个数据序列,而不是任意地到处跳转(寻找)。相反,将整个音频(例如 1 小时)分成多个块(例如 1 分钟),然后单独上传/加密/解密/下载每个块并作为一个整体,而不使用流。如果您的块足够小,下载/解密块将会很快,并且您不会卡住 UI。如果解密还是太慢,可以看看isolate,它是Flutter中的“线程”。在单独的隔离区中运行解密,那么您的 UI 将会很流畅。
我需要音乐播放器的所有常用功能(例如专辑、播放列表、带有搜索功能的进度条等)
上面实现了查找。对于专辑/播放列表,您可以修改 flutter 中的任何普通音频播放器来实现它,或者直接自己实现。它更像只是一些 UI 的东西,没有什么特别的东西,任何熟悉 Flutter 的人都可以编写它,不用担心。
| 归档时间: |
|
| 查看次数: |
1735 次 |
| 最近记录: |