Human Interface Guidelines
オーディオの再生
人々は、デバイスのコンテキストが変化したときに自動的に調整されるリッチなオーディオ体験を期待しています。
デバイスは、内部または外部スピーカー、ヘッドホン、Bluetooth または AirPlay 対応デバイスを介したワイヤレスなど、さまざまな方法でオーディオを再生できます。デバイス上のサウンドを操作するには、音量ボタン、iPhone の鳴らす/消音スイッチ、ヘッドフォンコントロール、コントロールセンターのボリュームスライダー、サードパーティ製アクセサリのサウンドコントロールなど、いくつかの種類のコントロールを使用します。サウンドが体験の主要部分であろうと装飾であろうと、ボリュームと出力を変更するときに、サウンドが期待どおりに動作することを確認する必要があります。
消音。 着信音や着信メッセージトーンなどの予期しない音に邪魔されないようにするには、デバイスを消音に切り替えます。このシナリオでは、人々はキーボードのクリック音、効果音、ゲームのサウンドトラック、その他の可聴フィードバックなど、不要な音を消音したいとも考えています。デバイスが消音モードの場合、メディアの再生、アラーム、オーディオ/ビデオメッセージングなど、人々が明示的に開始したオーディオのみを再生する必要があります。
ボリューム。 人々は、ボリュームの調整に使用する方法に関係なく、ボリューム設定がシステム内のすべてのサウンド (音楽やアプリ内の効果音を含む) に影響を与えることを期待しています。例外は iPhone の呼び出し音のボリュームで、設定で個別に調整できます。
ヘッドホン。 人々はヘッドホンを使用して、リスニングをプライベートに保ち、手を解放します。ヘッドホンを接続すると、ユーザーはサウンドが中断することなく自動的にリルートされることを期待します。ヘッドホンを抜くと、再生がすぐに一時停止することを期待します。
ベストプラクティス
必要に応じてレベルを自動的に調整します。全体のボリュームは調整しないでください。 あなたのアプリは、相対的な独立したボリュームレベルを調整して、オーディオの素晴らしさを実現できますが、システムのボリュームが常に最終出力を制御する必要があります。
可能な場合は、オーディオのリルートを許可します。 人々は多くの場合、別のオーディオ出力デバイスを選択したいと考えています。たとえば、リビングルームのステレオ、カーラジオ、または Apple TV で音楽を聴きたい場合があります。やむを得ない理由がない限り、この機能をサポートしてください。
システムが提供するボリュームビューを使用して、人々がオーディオを調整できるようにします。 ボリュームビューには、ボリュームレベルスライダーとオーディオ出力をリルートするためのコントロールが含まれています。スライダーの外観をカスタマイズできます。開発者向けガイダンスについては、MPVolumeView (MPVolumeView) を参照してください。
あなたのアプリやゲームでサウンドを使用する方法に合ったオーディオカテゴリを選択してください。 選択したオーディオカテゴリに応じて、あなたのアプリのサウンドは他のオーディオと混在したり、アプリを背景で再生したり、鳴らす/消音スイッチを消音に人々が設定したときに停止したりできます。可能な限り、あなたのアプリが人々の期待に応えるのに役立つカテゴリを選択してください。たとえば、必要がない場合は、他のアプリの音楽を人々が聴くのをやめさせないでください。開発者向けガイダンスについては、AVAudioSession.Category (AVAudioSession.Category) を参照してください。
カテゴリ | 意味 | 動作 |
周囲で一人 | サウンドは必須ではありませんが、他のオーディオを消音します。たとえば、サウンドトラックのあるゲーム。 | 消音スイッチに応答します。 他の音と混合しません。 バックグラウンドで再生されません。 |
周囲 | サウンドは必須ではなく、他のオーディオを消音にすることもありません。たとえば、ゲームのサウンドトラックの代わりに、ゲームプレイ中に別のアプリの音楽を再生できるゲーム。 | 消音スイッチに応答します。 他の音と混合します。 バックグラウンドで再生されません。 |
再生 | サウンドは不可欠であり、他のオーディオと混合する可能性があります。たとえば、外国語を教えるオーディオブックや教育用アプリで、アプリを離れた後に人々が聞きたいと思うかもしれません。 | 消音スイッチに応答しません。 他の音と混合する場合と混合しない場合があります。 バックグラウンドで再生できます。 |
録音 | サウンドが録音されます。たとえば、オーディオ録音モードを提供するメモ取りアプリ。この種のアプリは、録音されたノートを再生できる場合、そのカテゴリを再生に切り替える可能性があります。 | 消音スイッチに応答しません。 他の音と混合しません。 バックグラウンドで録音できます。 |
再生と録音 | サウンドは、場合によっては同時に録音および再生されます。たとえば、オーディオメッセージまたはビデオ通話アプリ。 | 消音スイッチに応答しません。 他の音と混合する場合と混合しない場合があります。 バックグラウンドで録音して再生できます。 |
意味のある場合にのみ、オーディオコントロールに応答します。 人々は、あなたのアプリが前景にあるか背景にあるかに関係なく、コントロールセンターやヘッドフォンのコントロールなど、あなたのアプリのインターフェースの外部からオーディオ再生を制御できます。あなたのアプリがアクティブにオーディオを再生している場合、クリアなオーディオ関連のコンテキストで、または Bluetooth または AirPlay 対応デバイスに接続されている場合は、オーディオコントロールに応答しても問題ありません。それ以外の場合、人々がコントロールをアクティブにするときに、別のアプリからの現在の再生を停止しないようにします。
オーディオコントロールの転用は避けてください。 人々は、オーディオコントロールがすべてのアプリで一貫して動作することを期待しているため、あなたのアプリでオーディオコントロールの意味を再定義しないようにすることが不可欠です。あなたのアプリが特定のコントロールをサポートしていない場合は、それらに応答しないでください。
システムがサポートしていないコマンドを提供する必要がある場合にのみ、カスタムオーディオプレーヤーのコントロールを作成することを検討してください。 たとえば、前後にスキップするためのカスタム増分を定義したり、スポーツのスコアなど、再生中のオーディオに関連するコンテンツを提示することができます。
あなたのアプリが一時的なオーディオの再生を終了したら、他のアプリに知らせます。 あなたのアプリが他のアプリのオーディオを一時的に中断する場合は、他のアプリがいつ再開できるかを知らせる方法でオーディオセッションにフラグを立ててください。開発者向けガイダンスについては、notifyOthersOnDeactivation を参照してください。
中断の処理
ほとんどのアプリやゲームはシステムのデフォルトの中断動作に依存していますが、ニーズに合わせてこの動作をより良くカスタマイズできます。
オーディオセッションの中断に対応する方法を決定します。 たとえば、人々が中断したくない録音やその他のオーディオ関連のタスクをあなたのアプリが有効にしている場合、人々が受け入れることを選択しない限り、着信通話で現在再生中のオーディオが中断されないようにシステムに指示できます。もう 1 つの例は VoIP アプリです。このアプリは、人々が内蔵マイクを使用しているときに iPad のスマートフォリオを閉じると通話を終了しなければなりません。Smart Folio を閉じると、iPad マイクが自動的にミュートされ、デフォルトでそれに関連したオーディオセッションが中断されます。VoIP アプリが Smart Folio を再度開いたときにオーディオセッションを再開すると、知らないうちにマイクを再度有効にすることで、人々のプライバシーを侵害する危険があります。オーディオセッションの中断を調べて、適切な応答方法を決定するのに役立てることができます。開発者向けガイダンスについては、オーディオセッションの中断への対応 (Responding to Audio Session Interruptions) を参照してください。
中断が終了した時、オーディオの再生を自動的に再開するかどうかを決定します。 別のアプリからのオーディオが、あなたのアプリが再生中のオーディオを中断する場合があります。中断は、電話の着信のように 再開可能 にすることも、新しい音楽プレイリストを開始するときのように 再開不可能 にすることもできます。中断の種類とあなたのアプリの種類を使用して、再生を自動的に再開するかどうかを決定します。たとえば、中断が発生したときにオーディオをアクティブに再生しているメディア再生アプリは、中断が終了したときに再生を続行する前に、種類が再開可能であることを確認できます。一方、ゲームはユーザーが明示的に選択しなくてもオーディオを再生するため、自動的に再生を再開する前に中断の種類を確認する必要はありません。開発者向けガイダンスについては、shouldResume を参照してください。
プラットフォームの考慮事項
iOS、iPadOS
システムのサウンドサービスを使用して、短い音や振動を再生します。 開発者向けガイダンスについては、オーディオサービス (Audio Services) を参照してください。
macOS
macOS では、通知音はデフォルトで他の音声と混合します。
tvOS
tvOS では、システムは、人々がオーディオを開始したとき、アプリやゲーム内での操作、またはデバイスの調整を実行したときにのみオーディオを再生します。たとえば、tvOS は、アラートや通知などのコンポーネントに付随するサウンドを再生しません。
watchOS
watchOS では、システムがオーディオの再生を管理します。アプリは、アクティブで、前景で実行されているときに短いオーディオクリップを再生することも、人々が手首を下げたり別のアプリに切り替えたりしても継続する長いオーディオを再生することもできます。開発者向けガイダンスについては、背景オーディオの再生 (Playing Background Audio) を参照してください。
メディアアセットに推奨されるエンコード値を使用します。 具体的には、64 kbps HE-AAC (High-Efficiency Advanced Audio Coding) 形式を使用して、より少ないデータ要件で高品質のオーディオを生成します。
あなたのアプリを離れることなく、現在または最近再生されたオーディオを人々が制御できるように、[再生中] ビューを提示することを検討してください。 システムが提供する [再生中] ビューには、現在のオーディオソース (人の Apple Watch または iPhone 上の別のアプリである可能性があります) に関する情報も表示され、現在または最近使用されたソースが自動的に選択されます。開発者向けガイダンスについては、再生中のビューの追加 (Adding a Now Playing View) を参照してください。
リソース
関連
開発者用文書
AVAudioSession (AVAudioSession)
ビデオ
あなたのアプリで
空間オーディオに没頭させる
WWDC21