2

ExtAudioFileOpenURL などの一部の関数は、ファイルへのパスとして URL のみを受け入れます。これは問題ありませんが、ファイルがコンテナーまたはメモリ バッファー内にある場合、これを指す URL を作成することは可能でしょうか?

例えば

char * w = read_sample_bytes(...);
CFURLRef url = CFURLCreateForBuffer(..., w, ...);
ExtAudioFileOpenURL(url, &extAudioFile);
etc..

または、データを一時ファイルに抽出し、その URL を作成する必要がありますか?

4

2 に答える 2

3

おそらく、最初に with を作成AudioFileIDし、次に必要な API を使用しAudioFileInitializeWithCallbacksて結果をラップします。このアプローチを使用してメモリ内でファイルを作成/読み取るために、CF/NS-URL は必要ありません。ExtAudioFileWrapAudioFileIDExtAudioFile

于 2012-04-17T05:14:53.407 に答える
0

メモリの領域への URL を作成することはできません。

特定の目的のために、ジャスティンが提案したことを行うか、Audio Queue Servicesを使用する必要があります。

于 2012-04-17T07:13:16.303 に答える