我开发一个应用程序,其中用户可通过如何将音频上载
使用移动任何Android版本上传音频文件到服务器“.WAV”格式转换。通过使用内置的Android录音机,他们可以
只创建.amr
音频的格式。但我需要在.wav
格式的音频
在服务器端使用电话。
有android的任何方式来创建内置的Android录音机
,或者在服务器端.wav
格式是可以使用PHP
转换任何音频文件格式.wav
。
任何帮助将是感谢。
我开发一个应用程序,其中用户可通过如何将音频上载
使用移动任何Android版本上传音频文件到服务器“.WAV”格式转换。通过使用内置的Android录音机,他们可以
只创建.amr
音频的格式。但我需要在.wav
格式的音频
在服务器端使用电话。
有android的任何方式来创建内置的Android录音机
,或者在服务器端.wav
格式是可以使用PHP
转换任何音频文件格式.wav
。
任何帮助将是感谢。
最好的方法是使用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"); ?>
我建议在服务器端进行转换以保存从未压缩文件传输的带宽。
您可以使用FFMPEG为您进行转换。
转换服务器端的另一个好处是,如果您的格式需求发生变化,您不需要发布应用程序的新版本。 – twaddington 2013-02-25 23:58:35
我认为PHP是最好的选择,你可以使用FFMPEG,并看看这些网页:
你也可以在一个Android
使用FFMPEG
设备。这可能是一个棘手的设置(需要一些NDK
配置),但这已被JavaCV
(可用here)大大简化。
我强烈建议您使用第三方在线格式转换API来完成这项工作,但如果您的服务器没有资源限制,您可以根据Brad的建议去FFMPEG
。
你可以使用在线API,如online-convert或找到一个匹配你最好的。
而不是设置一个转换AMR-> WAV的服务器,在您的应用程序中进行录制不是更容易吗?即使用AudioRecord类来记录PCM数据,添加一个WAV标题,然后就完成了。 – Michael 2013-02-21 06:41:40
无论你选择做什么工作,都不要“上传”。排队转换。我建议为这项工作称为Gearman的完美服务。 – 2013-02-27 17:55:26