Lua - 将3gp文件转换为原始格式(或wav)?

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

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

原文链接 https://stackoverflow.com/questions/8625127

点赞
stackoverflow用户221509
stackoverflow用户221509

你还没有说明你需要原始音频数据的原因或你希望处理什么类型的文件,所以我将讨论一般情况。很不幸地,据我所知,没有纯Lua代码可以实现你想要实现的功能。你只能使用外部库。在纯Lua中实现整个AMR音频解码器(通常嵌入在3GP容器中)将是一项艰巨的任务。你大致有以下几个选择:

  • 如果Corona支持带有FFI的LuaJIT,你可以尝试编译FFmpeg或其分支Libav,并直接从Lua源中使用,就像我的例子中演示的那样。
  • 如果你可以加载外部库,请尝试创建一些简单的绑定代码,使用上述库(或其他库)进行转换,并以Lua可读的形式返回数据,比如一个表。

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

  • 使用一个网络服务,用户/应用程序将3GP发送到该服务中,并返回原始数据。这只适用于小的声音/快速连接。
2011-12-28 12:19:28