如何在上传时将音频转换为“.WAV”格式

时间:2013-02-21 04:05:06

标签: php android file-upload wav audio-recording

我正在开发一个应用程序,用户可以通过

将音频文件上传到服务器

在手机中使用任何Android版本。通过使用内置的Android录音机,他们可以

仅创建音频的.amr格式。但是对于某些

,我需要.wav格式的音频

服务器端的电话使用。

在Android中有没有办法在内置的Android录音机中创建.wav格式

或在服务器端,可以使用.wav将任何音频文件格式转换为PHP

任何帮助都会感激不尽。

5 个答案:

答案 0 :(得分:3)

我建议在服务器端进行转换,以保存未压缩文件中传输的带宽。

您可以使用FFMPEG为您进行转换。

答案 1 :(得分:2)

最好的方法是使用FFMPEG作为php扩展,或者你可以直接运行ffmpeg进行转换。使用php的简单方法是:

<?php exec(ffmpeg -i audio.amr testwav.wav) ?>

但是你可能会遇到一些困难。所以你应该添加一些参数。您可以使用“-ar”设置音频采样率(以Hz为单位),使用“-ab”设置音频比特率(以位/秒为单位)等。以下是示例:

<?php exec("ffmpeg -i audio.amr -ar 22050 -ab 32 -map_meta_data audio.wav:audio.amr audio.wav"); ?>

答案 2 :(得分:0)

我认为PHP是最佳选择,您可以使用FFMPEG,并查看这些页面:

  1. http://wiki.dreamhost.com/FFmpeg
  2. http://wiki.dreamhost.com/Php-ffmpeg

答案 3 :(得分:0)

您还可以在FFMPEG设备上使用Android。这可能是一个棘手的设置(需要一些NDK配置),但JavaCV(可用here)大大简化了这一点。

答案 4 :(得分:0)

我强烈建议您使用第三方在线格式转换API来完成这项工作,但如果您的服务器不受资源限制,您可以按照Brad的建议转到FFMPEG。 您可以使用online-convert之类的在线API,也可以找到最适合您的API。