2016-01-08 3 views
8

私は、ユーザーがダビングの種類を作成できるようにするアプリを開発中です。オーディオファイルが再生されており、ユーザーは特定の瞬間に音を挿入することができます(検閲ボタンのようなものです)。最終製品をキャプチャする方法については疑問に思っています。iPhoneから出てくるオーディオを録音することは可能ですか?

iPhoneから直接音声をキャプチャするのは、完成した製品が完成したことをユーザーが既に聞いているため、最も簡単なルートのようです。しかし、私はこれを行う方法について何かを見つけることができません。可能でない場合、提案はありますか?

+0

こんにちは、ここではhttp://zathras.de/programming/cocoa/UKSoundFileRecorderの出発点があります。zip/UKSoundFileRecorder/UKSoundFileRecorder/ それはMacOSのためだが、iPhoneでもうまくいくと思う。 – ColdSteel

+0

1つの質問:それを検閲するのに使うのは同じアプリからのものだ。 –

+0

@HugoAlonsoはい、それは正しいです。 – bkwebhero

答えて

1

最も良い方法は、おそらくオーディオを混合してからバッファリングして再生することです。AV Foundation frameworkを使用することが最善の方法です。これにより、再生されたオーディオと保存されたオーディオの両方が等しくなることを保証しながら、高い抽象レベルが可能になる。

それ以外:私は最小限のコードでこれを達成するにはどうすればいいですか?設定に関する詳細情報がないと、質問が広すぎたり、意見に基づいたりします。

+0

私はそれが広すぎるとは思わない。私は、iPhoneからオーディオをキャプチャする簡単な方法があるかどうかを知ることを意味しました。単純な方法で画像をキャプチャする方法と似ています。 – bkwebhero

1

バッファで作業する必要があります。 Swiftでどのように行われているのか分かりませんが、Obj-Cで実装することができます。その後をブリッジアウトします。あなたはこれを参照することができます

https://stackoverflow.com/a/11218339/2683201

https://stackoverflow.com/a/10101877/2683201

彼らは少し古いです)ここにStackOverflowでの回答やプロジェクトも存在します(ただし、OBJの-Cです) https://github.com/alexbw/novocaine

主にあなたの場合のアイデアは、2つの分離エフェクトとサウンドエフェクトが含まれています。 その後、エフェクトを演奏していない限り、バッファーA(あなたの音楽)から演奏され、演奏されたデータをバッファーB(最終出力)にコピーします。ウィッヒのケースでは、あなたのバッファBに効果のデータをコピーします

その他のオプションは、オフラインでそれを行うことです。

  1. あなたの音楽(またはオーディオ)を再生し、経過時間と同期タイマー運転を続けますあなたのの "打ち切られたオーディオ"の。
  2. 開始ボタンと終了ボタンのタイムスタンプを保存します(、たとえば)。
  3. オーバーラップバッファーAは、記録されたバッファー(start-end)のタイムスタンプで効果を発揮します。

  4. 保存ファイルとしてバッファ(またはあなたはそれで行う必要があるものは何でも)

UPDATE:

あなたはこのような何かのアップルの実装に見てみる必要があります: https://developer.apple.com/library/ios/samplecode/AVAEMixerSample/Introduction/Intro.html

関連する問題