用户将WAV文件上传到我的服务。我需要以编程方式知道WAV文件的比特率和采样率。
我该怎么做?最好是在Windows上,虽然Unix工具也可以。命令行工具会很方便。
答案 0 :(得分:2)
见MediaInfo。此工具提供图形用户界面,命令行界面和库(.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>
。
答案 1 :(得分:1)