如何在Android中播放加密文件

前端之家收集整理的这篇文章主要介绍了如何在Android中播放加密文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要能够在 Android中播放加密文件.

文件是AAC.

我能看到这样做的唯一方法是:

>将文件解密到内部私有存储,并将播放器指向该文件进行播放,或者
>解密&将文件解码为pcm并将其提供给AudioTrack.

1并不是很好,因为这需要很长时间.
2也不是很好,因为我不知道如何利用HW解码器来做到这一点.

有任何想法吗?

TIA.

解决方法

如果您具有可在流上解密的加密格式,则可以在流源和媒体播放器之间插入代理并从那里读取它.

NPR Android News应用程序有一个插入代理的示例,允许2.2版之前的设备正确处理Shoutcast流.有关如何完成此操作,请参阅源代码中的StreamProxy class,以及执行此操作的lines 410-418 (as of last update) of the PlaybackService class.它基本上只是更改了URL以通过本地代理服务器运行:

if (stream && Build.VERSION.SDK_INT < 8) {
  if (proxy == null) {
    proxy = new StreamProxy();
    proxy.init();
    proxy.start();
  }
  playUrl = String.format("http://127.0.0.1:%d/%s",proxy.getPort(),url);
}

如果您的流来自本地文件,而不是Internet,那么您可以执行类似于我作为测试工具编写的HttpRawResourceServer来与媒体播放器进行交互.

原文链接:https://www.f2er.com/android/816634.html

猜你在找的Android相关文章