2011-08-24 45 views
1

我在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,並使用第三方庫將其轉換爲我自定義的格式(我不知道任何)?

回答

0

此鏈接可能會幫助你:Silverlight 4 audio recording and upload to server Sry爲我的愚蠢我不知道如何格式化代碼,在我給你的那個鏈接,尋找行AudioFormat desiredAudioFormat = null;去那裏,你需要下一個foreach