2011-05-26 413 views
0

我無法完成標題所說的內容。我的目標是能夠爲您的錄音添加任何所需的效果,保存修改後的音頻,然後將其發送到服務器。錄製音頻,添加效果,然後將結果保存到音頻文件

我已經搜查了fourms和跨越這些線程來: viewtopic.php F = 7 & T = 13029 & P = 45362 &體液型=節約#p45362 viewtopic.php F = 7 & T = 12660 &? p值= 44586 &體液型=節省#p44586 viewtopic.php?F = 7 &噸= 13178 & p值= 45746 &體液型=節省#p45746

讀取這些後,我看到它能夠保存修改後的音頻,但它只能保存爲一個WAV?就像我在保存後所說的那樣,它會被髮送到服務器,所以尺寸是一個大問題,與其他格式相比,wavs相對較大。忽略這個事實,我試圖實現FMOD_OUTPUTTYPE_WAVWRITER,我無法讓它工作;有沒有使用它的好例子?我看了雖然在圖書館的例子,但我沒有看到..

但該應用程序的基本結構是記錄,關閉一些開關,看看你想要什麼過濾器,預覽,然後按一個可以保存的按鈕「保存」。這個保存功能由什麼組成?

任何幫助表示讚賞,謝謝。

回答

0

使用FMOD_OUTPUTTYPE_WAVWRITER非常簡單,您可以通過System :: setOutput設置類型,通過System :: init extradriverdata指定輸出文件。 extradriverdata應該是設備可寫區域的絕對路徑,例如文檔目錄。完成播放後,調用System :: release並完成文件。

另一種錄製波形數據的方法是創建一個自定義DSP並將其連接到播放錄製數據的通道。然後,您將定期回調,爲您提供必須自己寫入磁盤的浮動數據。您可以在dsp_custom和recordtodisk示例中分別找到DSP的示例和寫入wav文件。

最後要說明的是,FMOD並不具備將壓縮音頻寫入磁盤的功能,您將需要另一個API來實現此目標。

+0

感謝您的幫助!我會按照你的建議去做,並且明天試着讓它工作。我想我只是無法看到使用FMOD背後的結構。 – RyanG 2011-05-27 03:05:57

+0

將.wav文件導入NSData以將其存儲在對象中的最佳方式是什麼?我想要傳遞聲音,並且我正在嘗試找出最好的方式來做到這一點。 – RyanG 2011-06-03 18:33:52

+0

您可以使用FMOD打開.wav並使用Sound :: lock/Sound :: unlock或Sound :: readData訪問原始PCM。但是,如果這是wavwriter輸出的.wav文件,最好不要使用該解決方案,而是使用DSP選項。 – 2011-06-05 23:47:39

0

您可以通過ExtAudioFile API另存爲AAC文件。

相關問題