1

我正在使用 Lua 的 Ansca Corona 版本,想知道在 5 秒长的 3GP 音频文件中获取原始未压缩样本数据的最佳方法是什么?

也许将 3GP 转换为 RAW(或 WAV)?

4

1 回答 1

1

您还没有说明为什么需要原始音频数据,或者您希望处理什么样的文件,所以我将笼统地说。不幸的是,AFAIK 没有纯 Lua 代码来完成您想要实现的目标。您只能求助于使用外部库。在纯 Lua 中实现通常嵌入在 3GP 容器中的整个 AMR 音频解码器将是一项艰巨的任务。您大致有以下选择:

  • 如果 Corona 通过 FFI 支持 LuaJIT,您可以尝试编译FFmpeg或它的 fork Libav并直接从 Lua 源代码使用它,如我的示例所示
  • 如果您可以加载外部库,请尝试创建一些简单的绑定代码,使用上面的库(或其他库)进行转换并以 Lua 可读的样式返回数据,如表格。

如果你不能使用外部库,我只看到这个选项:

  • 使用用户/应用程序向其发送 3GP 并返回原始数据的 Web 服务。这仅适用于小声音/快速连接。
于 2011-12-28T12:19:28.120 回答