ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
watchOS 6でオーディオをストリーミングする
Apple Watchでオーディオをストリーミングすることで、iPhoneがなくてもコンテンツを好きな場所で楽しめるようにすることができます。このセッションでは、watchOS Appで独立したオーディオ視聴体験を作り出すためにiOSから引き継がれたストリーミング用APIについて説明します。ストリーミング用にオーディオセッションを設定する方法や、異なるネットワーク環境間を移動するユーザーに最善の体験を提供するためのベストプラクティスについてご確認ください。
リソース
関連ビデオ
WWDC21
WWDC20
WWDC19
-
ダウンロード
昨年 watchOS 5では― 長時間バックグラウンド再生できる モードを紹介しました
今年のwatchOS 6では― 直接オーディオストリーミングが 可能になります これによりユーザは― コンテンツのアクセスに iPhoneは必要ありません コンテンツの同期は必要なく― スポーツの生中継なども 聴くことができます
オーディオストリーミングに 必要なのは―
HLSと カスタムオーディオプロトコルです
詳細を見ていきましょう コンテンツがHLS対応なら― AV Queue Playerで ストリーミングできます watchOSはHLSオーディオフィード用に 最適化されています
専用のフォーマット使用か― カスタムプロトコル使用かで Appは異なります
コンテンツの取得には― Networkフレームワークの URL Sessionを使います
コンテンツをダウンロードしたら― オーディオルートや音声再生に AV Foundationを使います
オーディオストリーミングは― watchOS SDKにいくつかのAPIを加え 実現しました 最低限の修正で watchOSが稼働するよう― 2つのSDKを近づけるのが 目標でした
watchOSはネットワーク構築のために iOS 12に導入された― Networkフレームワークを 備えています これはユニットソケットの 代わりです C APIだけでなく― 便利なSwift APIも提供します
URL Sessionは URL Session Streaming Taskと― URL Session Web Socket Taskを 備えています iOS 13とwatchOS 6の 新しい機能です ネットワークから データを取得する機能として― AV・ストリーミング・ネットワーク・ サービス・タイプが加わりました データ取得にご活用ください
再生用のAV Foundationには 多くのAPIがあります AV Playerや AV Queue Playerもそうです
また初めて Core Mediaが利用できます
すでにバックグラウンド再生が 設定済みなら― ストリーミング可能です 他の設定は必要ありません バックグラウンド再生設定が まだなら― WatchKitの拡張ターゲットに この機能を加えます Xcodeプロジェクトを開き WatchKitで設定します サインインと機能セクションで― 機能追加をクリックし バックグラウンドモードを選びます 最後にオーディオモードに設定 これで完了です
設定が完了したら― オーディオ再生に必要な APIの話をしましょう オーディオセッションを 有効にする前に― サーバからデータを取得します
このデータはストリーミングに必要です 例えばアルバムの情報や プレイリストなど― すべてのメタデータです すでにこのデータを キャッシュしたかもしれませんが― まだならURL Sessionを 利用できます 今回はソケットと ストリーミングタスクと― Networkフレームワークは 利用できません
必要な情報がそろったら オーディオセッションを有効にします 情報がそろう前に有効にすると― 混乱を招きかねません これがwatchOSとiOSの 違いです iOSにはデフォルトの オーディオルートがありますが― watchOSにはありません
ルートが有効でない場合は watchOSが自動的に― オーディオルートピッカーを 提示します しかし場合によっては 提示を省略できます Bluetoothデバイスが すでに接続済みの場合 あるいはApple製の Bluetoothデバイスで― iPhoneに接続している場合です しかしiPhoneと接続中に電話する場合は 提示を省略できません
オーディオセッションが 有効になれば― すべてのネットワーキングAPIが 利用できます URL Session Streaming Taskや― URL Session Web Socket Taskや Networkフレームワークです オーディオセッションが 有効でなければ― 要求はできません
最終的にオーディオデータが 十分そろったら― 再生にAV Foundationを使います
サーバから新しい情報を 取得する際は― どのネットワーキングAPIでも可能です
次はストリーミングの特長を 紹介をします
ストリーミングはSeries 3以降で 利用可能です ストリーミングに対応しているか Appにチェック機能を備えましょう チェックには WK Interface Deviceの― supports Audio Streamingを使います
watchOS 6で追加されたオーディオと ネットワーキングAPIがあれば― WatchKitのWK Audio FileのAPIは 必要ありません そのため これらのAPIは 非推奨になりました 次にネットワーク構築の話です
キャッシングは重要です ネットワーク状態の変化に備え データは― ローカルで利用可能であるべきです
ネットワークの要求とサイズは 最小限に抑えます 余計な要求は再生に 不具合を起こしかねません 不必要なダウンロードも同様に― ユーザの不満につながります
念のため64kbpsのデータで ストリーミングを始めます データの受信状況に注意して― ネットワーク状態が良好なら ビットレートを上げてください AV Foundationは自動的に この処理をします
ネットワークの性質上 取得した情報が― 使用時に 無効になっている可能性があります 快適に使えるように― 常にネットワークに接続し 不具合に対処します オーディオの質とキャッシングの量を 常時調整しましょう
Apple Watch稼働時は ネットワーク移行が頻繁です iPhoneから離れれば BluetoothやWi-Fiとも連動します このようなネットワーク移行は よくあります 移行が数秒で終わるように 備えましょう 他のプラットフォームのストリーミング アプリケーションでも― ネットワーキングコードと プロトコルの最適化は必要です
Apple Watchの― オーディオアプリケーション作成に ついては Creating Audio Apps for watchOSを ご覧ください Networkフレームワーク講演の内容は watchOSを使ううえで有意義です それでは他のセッションも ぜひお楽しみください
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。