0

用户将 WAV 文件上传到我的服务。我需要以编程方式了解 WAV 文件的比特率和采样率。

我该怎么做?最好在 Windows 上,尽管 Unix 工具也可以。命令行工具会很方便。

4

2 回答 2

2

从http://sox.sourceforge.net/下载 Sox

跑:

sox --info filename.wav
于 2013-01-16T01:29:37.647 回答
2

请参阅媒体信息。该工具提供图形用户界面、命令行界面和库 (.dll/.so/.dylib)。我更喜欢使用图书馆。

如果你想尝试 CLI,这里有一个命令行示例。

MediaInfo.exe "--Inform=Audio;" --Output=XML "test.wav" --logfile=result.xml

然后我得到了一个result.xml。

<?xml version="1.0" encoding="UTF-8"?>
<Mediainfo version="0.7.61">
<File>
<track type="General">
<Complete_name>test.wav</Complete_name>
<Format>Wave</Format>
<File_size>14.2 KiB</File_size>
<Duration>659ms</Duration>
<Overall_bit_rate>177 Kbps</Overall_bit_rate>
</track>

<track type="Audio">
<ID>0</ID>
<Format>PCM</Format>
<Format_settings__Endianness>Little</Format_settings__Endianness>
<Codec_ID>1</Codec_ID>
<Duration>659ms</Duration>
<Bit_rate>176.4 Kbps</Bit_rate>
<Channel_s_>1 channel</Channel_s_>
<Sampling_rate>22.05 KHz</Sampling_rate>
<Bit_depth>8 bits</Bit_depth>
<Stream_size>14.2 KiB (100%)</Stream_size>
</track>

</File>
</Mediainfo>

只需解析这个文件并找到字符串<Sampling_rate>22.05 KHz</Sampling_rate>

于 2013-01-16T01:43:16.500 回答