某些函數(如ExtAudioFileOpenURL)只接受URL作爲文件的路徑。這很好,但如果你的文件在一個容器或一個內存緩衝區中,那麼又有可能創建一個指向這個的URL?Cocoa:如何創建CFUrl/NSUrl從ExtAudioFileOpenURL的內存緩衝區讀取
如
char * w = read_sample_bytes(...);
CFURLRef url = CFURLCreateForBuffer(..., w, ...);
ExtAudioFileOpenURL(url, &extAudioFile);
etc..
或我必須將數據提取到一個臨時文件,並創建一個URL來的?
我認爲這是從內存緩衝區讀取的正確方法。事實證明,對我來說,最好是對文件數據進行流式傳輸,以便最終使用AudioToolbox的AudioFileStream和AudioConverter的組合 - 完全跳過ExtAudioFile。 – 2012-04-18 02:43:05