MOMENT Studio
← 一覧へ

ロック画面とセッションの干渉を分離する

2025.09.18技術記録#playback#ios-shell#product-ui

オーディオセッション、ロック画面のリモートコントロール、エフェクター状態の責任境界を再定義し、再生パスにおけるコンポーネント間の干渉を排除した。

再生は単一の画面に限定されない。ロック画面のリモートコントロール、バックグラウンドのオーディオセッション、映像上で動作するサウンドエフェクターが、同一の再生状態を同時に参照する。各コンポーネントが独自の前提に基づいて状態を変更し始めると、原因の特定が困難な細かな競合が蓄積される。今回の作業の目的は、その境界を明確に絞り込み、各コンポーネントの責任を分離することだった。

中心的な問題は、エフェクター装着状態の伝達範囲だった。空間表現やリバーブのエフェクターは、該当機能を実際に使用するフローにおいてのみ意味を持つ。この状態をセッション全体に伝播させると、機能を使用していない場合にも不要な影響が生じる。エフェクター状態は該当機能を使用するパスにのみ伝達されるよう範囲を限定し、オーディオセッション管理もユーザータイプを明確に区別することで不要な干渉を遮断した。

初期起動時のパフォーマンスも合わせて改善した。最初の画面で不必要に先行処理されていた画像処理を削除し、必須データを優先してロードするよう順序を変更した。映像フィードの同時ロード数も制限し、メモリへの過負荷を軽減した。

再生の安定性は個別機能の追加ではなく、コンポーネント間の責任境界の明確さから生まれる。ロック画面制御、イヤホン再接続、外部オーディオ割り込みなど、あらゆる入力経路において一貫した再生状態を保証することが、今回の作業の基準だった。