C# 使用C测试音频文件#
我想写一个脚本来测试一个特定的.WAV文件,并确定它是否被录制好。我的意思是,我将让几台计算机同时记录相同的输入,保存它们的音频文件,在这一点上,我需要看看哪些计算机由于任何原因没有记录下来 我正在考虑检查音频文件的大小,但我不确定是否有一台输出文件中没有实际录音的电脑通过了测试,而另一台电脑通过了测试,这仅基于输出文件的大小C# 使用C测试音频文件#,c#,.net,audio,audio-recording,C#,.net,Audio,Audio Recording,我想写一个脚本来测试一个特定的.WAV文件,并确定它是否被录制好。我的意思是,我将让几台计算机同时记录相同的输入,保存它们的音频文件,在这一点上,我需要看看哪些计算机由于任何原因没有记录下来 我正在考虑检查音频文件的大小,但我不确定是否有一台输出文件中没有实际录音的电脑通过了测试,而另一台电脑通过了测试,这仅基于输出文件的大小 我希望我的问题足够清楚。致以最诚挚的问候。您可以查询采样率的文件属性,采样率越高,质量越好。就像这样,从这里开始: 使用WMPLib; WindowsMediaPlaye
我希望我的问题足够清楚。致以最诚挚的问候。您可以查询采样率的文件属性,采样率越高,质量越好。就像这样,从这里开始:
使用WMPLib;
WindowsMediaPlayerClass wmp=新WindowsMediaPlayerClass();
IWMPMedia mediaInfo=wmp.newMedia(“myfile.wmv”);
//持续时间
Console.WriteLine(“Duration=“+mediaInfo.Duration”);
//写入命名属性
for(int i=0;i是我的解决方案。我强烈建议在类似情况下使用此库。似乎从WAV文件检索到的唯一属性是其持续时间。另一方面,在不同的MP3文件上,我已设法检索到更多的属性,尽管它们似乎都没有帮助我或与我的情况相关。
using WMPLib;
WindowsMediaPlayerClass wmp = new WindowsMediaPlayerClass();
IWMPMedia mediaInfo = wmp.newMedia("myfile.wmv");
// duration
Console.WriteLine("Duration = " + mediaInfo.duration);
// write named attributes
for (int i=0; i<mediaInfo.attributeCount; i++)
{
Console.WriteLine(mediaInfo.getAttributeName(i) + " = " + m ediaInfo.getItemInfo(mediaInfo.getAttributeName(i)) );
}