2017-10-09 9 views
3

ファイルを開くか、またはファイルをコピーすると、バッファのサイズが爆発します。 〜300メガバイトのRAMとiPhone 5S 15分の記録があり、同様に多くのメモリをとり、同じことは、ファイルを保存してから(つまりを構成した後に)それを再び開いた後に起こる多くのラムを消費するAudioKitバッファ

tape1.write(from: tape2.pcmBuffer) 

AKAudioFile(forReading: url, commonFormat: .pcmFormatFloat32, interleaved: true) 

することができますそれを処理しないでください。 良い方法がありますか?バッファサイズを減らす方法は?

答えて

4

ファイルをコピーするには、FileManager.copyItemFileManager.default.copyItem(at: src, to: dst)を使用してください。同じURLから2つのファイルプレーヤーを作成することもできます(それがあなたの意図ならば)。

AKAudioFileはインスタンス化時にバッファに読み込まれないため、メモリ使用は他の場所で行われます。 AKAudioFile.floatChannelDataとAKAudioFile.pcmBufferは、ファイルからAKAudioPlayerを作成するのと同様に、ファイル全体をbufferに読み込みます。

長いファイルを再生する場合は、AKClipPlayerを試してください。ディスクからファイルをストリーミングして、メモリ使用量を抑えます。

let clip = AKFileClip(url: url) 
let clipPlayer = AKClipPlayer(clips: [clip]) 
+0

ありがとう、私はAKClipプレーヤーをチェックします、私は本当にプレイヤーのinitとリロードが問題を引き起こしていた –

関連する問題