iOS Apps Developer's Note

Audio Session Top

5. オーディオカテゴリの種類

前述のとおり、カテゴリとは「電話」や「ビデオ通話」といった利用する状況を分類したものである。
実際には、それぞれの状況について1対1のカテゴリが用意されているわけではない。
カテゴリを理解するにあたり、まずは大きな分類からとらえると解りやすいだろう。

オーディオ機能を使う話をしているので、入力か出力のどちらか、あるいは入出力両方を使うことがほどんどだが、 使わないという状況もある。
次の4つに分けてみよう。
  • 入力も出力も使用しない
  • 出力のみを使用する
  • 入力のみを使用する
  • 入出力の両方を使用する

ではこの順番でそれぞれを見ていこう。
  • 入力も出力も使用しない
    まずは、入出力は使わないがオーディオ処理をするカテゴリがある。
    カテゴリ名でAudioProcessingというものである。入力を受けたり、出力したりする代りに オーディオファイルのフォーマットを変換したりする処理などがこれにあたる。
  • 出力のみを使用する
    次に、出力のみを使うカテゴリがある。
    効果音や、BGM、音楽プレーヤー、ビデオプレーヤーなどがある。
    音を出すカテゴリであはあるが、どの程度積極的に音を出したいかによって大きく2種類に分かれる。 iPhoneのサイレントスイッチに従って音を止めるか、関係なく出すか、で2つある。

    iPhoneのサイレントスイッチに従って音を止めるカテゴリにはAmbientとSolo Ambientというカテゴリがある。
    この2つのカテゴリは、スクリーンロック時にも音は出さない。
    AmbientとSolo Ambientの違いは、バックグラウンドで使用されているオーディオを止めるかどうかである。
    Ambientはバックグラウンドでオーディオを使用しているのを止めることはない。
    Solo Ambientはバックグラウンドのオーディオと共存せず、オーディオ機能を独占する。
    このSolo Ambientがデフォルトのカテゴリだ。

    iPhoneのサイレントスイッチに従わず、音を出すカテゴリにPlaybackというカテゴリがある。
    Playbackはサイレントスイッチやスクリーンロックに従わない代りに、バックグラウンドのオーディオと 共存するか、独占するか、バックグラウンドのオーディオを少し小さくする、”Duck”というオプションが指定できる。
    Playbackはオーディオプレーヤーや、ビデオプレーヤーで使用する。
  • 入力のみを使用する
    次に、入力のみを使用して出力を使用しないカテゴリである。
    Recordカテゴリという名前で、ボイスレコーダーやムービー録画などで使用する。
    出力は使用しないので、リアルタイムでの音声のモニタリングはできない。
  • 入出力の両方を使用する
    最後に入力と出力を同時に使うカテゴリである。
    PlayAndRecordという名前で、再生や録音に限らず入力と出力を同時に使う用途で使用する。
    また、MultiRouteというカテゴリもあり、2つの出力を同時に使用することができる。 DJアプリなどで良く使用される。
これらのカテゴリにはさらに「モード」と呼ばれる設定がある。
実は、このモードを選ぶことで使えるハードウェアの音声入出力ポートが限定されるのである。

次は、このモードの詳細を確認していこう。

PrevNext