在Silverlight中录制PCM音频4

问题描述:

我在Silverlight应用程序中遇到了一个奇怪的行为,并且在尝试了几个小时后无法解析它。在Silverlight中录制PCM音频4

  • 既然不能访问我的代码AudioFormat的内部构造(甚至使用反射造成的Silverlight安全政策引发异常),如何更改音频格式(在我的课是从AudioSink类派生的。现在,我覆盖的方法,我MemoryAudioSink类,如下所示:

    protected override void OnFormatChange(AudioFormat audioFormat) 
    { 
        if (this.audioFormat == null) 
        { 
         this.audioFormat = audioFormat; 
        } 
        else 
        { 
         throw new InvalidOperationException(); 
        } 
    } 
    

    我不能创建新的AudioFormat(没有可用的构造函数),默认AudioFomat具有每其中有没有setter秒16000米的样品,我想。录制和保存音频,单声道(通道= 1),8位(每比特位mple = 8),8k(每秒样本数= 8000)格式。

此外,我已经使用酷编辑成功记录8位8k音频,以确保我的声卡支持它。

所以简单地说,我可以使用自定义AudioFormat录制音频,还是应该在Silverlight中录制音频,将其传递到我的WebApp,并使用第三方库将其转换为我自定义的格式(我不知道任何)?

此链接可能会帮助你:Silverlight 4 audio recording and upload to server Sry为我的愚蠢我不知道如何格式化代码,在我给你的那个链接,寻找行AudioFormat desiredAudioFormat = null;去那里,你需要下一个foreach