2013-06-02 16 views
0

我使用Cocoa框架爲Mac OS X創建了一個小型音頻編輯器。我通過將選定示例寫入臨時WAV文件來實現「複製」,然後使用NSSound加載URL並然後將數據推送到粘貼板(writeToPasteboard :)。在Cocoa中複製/粘貼音頻樣本

現在我正在進行粘貼。我從粘貼板創建一個NSSound,現在卡住了。我如何獲得樣品?

回答

0

你不知道。 NSSound不允許您訪問原始樣本數據。

您需要改爲使用Audio Toolbox框架。它提供了兩個API用於讀取和寫入文件中的音頻:Audio File Services是兩者中的較低級別,而Extended Audio File Services支持壓縮和其他功能。

您可能希望在音頻文件服務中使用基於回調的API,因爲這可以使您不必使用臨時文件。相反,你需要設置一個NSMutableData對象作爲音頻文件的「客戶端數據」,然後通過將字節複製到數據的相關範圍(如果需要,首先設置它的長度)並通過複製「讀取」來實現「寫入」數據的一些範圍。