C# 使用C测试音频文件#

C# 使用C测试音频文件#,c#,.net,audio,audio-recording,C#,.net,Audio,Audio Recording,我想写一个脚本来测试一个特定的.WAV文件,并确定它是否被录制好。我的意思是,我将让几台计算机同时记录相同的输入,保存它们的音频文件,在这一点上,我需要看看哪些计算机由于任何原因没有记录下来 我正在考虑检查音频文件的大小,但我不确定是否有一台输出文件中没有实际录音的电脑通过了测试,而另一台电脑通过了测试,这仅基于输出文件的大小 我希望我的问题足够清楚。致以最诚挚的问候。您可以查询采样率的文件属性,采样率越高,质量越好。就像这样,从这里开始: 使用WMPLib; WindowsMediaPlaye

我想写一个脚本来测试一个特定的.WAV文件,并确定它是否被录制好。我的意思是,我将让几台计算机同时记录相同的输入,保存它们的音频文件,在这一点上,我需要看看哪些计算机由于任何原因没有记录下来

我正在考虑检查音频文件的大小,但我不确定是否有一台输出文件中没有实际录音的电脑通过了测试,而另一台电脑通过了测试,这仅基于输出文件的大小


我希望我的问题足够清楚。致以最诚挚的问候。

您可以查询采样率的文件属性,采样率越高,质量越好。就像这样,从这里开始:

使用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)) );
    }