Lua - 将3gp文件转换为raw(或wav)?

时间:2011-12-24 14:36:10

标签: lua wav corona 3gp

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

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

1 个答案:

答案 0 :(得分:1)

您还没有说明为什么需要原始音频数据,或者您希望处理哪种文件,所以我会一般性地讨论。不幸的是,AFAIK没有纯粹的Lua代码来做你想要实现的目标。您只能使用外部库。在纯Lua中实现整个AMR音频解码器(通常嵌入在3GP容器中)将是一项艰巨的任务。您有大致以下选项:

  • 如果Corona使用FFI支持LuaJIT,您可以尝试编译FFmpeg或它的分叉Libav并直接从Lua源使用它,如演示in my example
  • 如果你可以加载外部库,尝试创建一些简单的绑定代码,它使用上面的库(或者其他一些代码)来进行转换,并以Lua可读的方式返回数据,如表格。

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

  • 使用用户/应用程序向其发送3GP的Web服务,并返回原始数据。这只适用于小声音/快速连接。