在silverlight中录制PCM音频4

时间:2011-08-24 12:13:59

标签: silverlight silverlight-4.0 audio-recording audioformat

我在Silverlight应用程序中遇到了一个奇怪的行为,并且在尝试了很多小时后无法解决它。

  • 由于我无法在我的代码中访问AudioFormat的内部构造函数(即使使用反射导致Silverlight安全策略引发异常),如何更改音频格式(在我的类中派生自AudioSink类。现在,我按照以下方式覆盖MemoryAudioSink类中的方法:

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

    我无法创建新的AudioFormat(没有ctor可用),默认的AudioFomat每秒有16000个样本,没有setter。我想以Mono(Channels = 1),8 bit(Bits Per Sample = 8),8k(Samples Per Second = 8000)格式录制和保存音频。

另外,我使用Cool Edit成功录制了8bit 8k音频,以确保我的声卡支持它。

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

1 个答案:

答案 0 :(得分:0)

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