あなたの説明から、ソフトウェア シンセサイザーを作成しようとしているかのように聞こえます。このようなものに使用できる唯一の方法AVAudioPlayer
は、ノート全体を 1 つの WAV ファイルとして構成し、AVAudioPlayer
.
任意の長さのノート サウンドを作成するには、ユーザー アクション (ボタンをタップするなど) に応答して再生を開始し、2 番目のユーザー アクション (「停止」ボタンをタップする、最初のボタンから指を離すなど) まで再生を続けます。 ) は、ループされたリージョンのボリュームを 0 まで下げるプロセス (「リリース」部分) を開始します。( は、完全にメモリ内に構築されたオーディオを再生するために使用AudioQueue
できAVAudioPlayer
ますが、再生を開始する前に再生全体を構築する必要があります。つまり、[再生を停止する以外] のユーザー アクションに応答して、再生中の内容を変更することはできません)。
の使用方法を簡単に示す別の質問/回答を次に示しますAudioQueue
。AudioQueue
再生するデータをさらにロードする必要があるときはいつでもコールバック メソッドを呼び出します。元の WAV ファイル データをループしてエンベロープ ラップするすべてのコードを実装する必要があります。