Oculus QuestでBluetoothイヤフォン・スピーカーを使う
OculusQuestがベースとするAndroidは、OSレベルBluetoothオーディオに対応しています。現時点ではその設定画面が用意されていないのですが、機能そのものは利用できるので、その利用方法を解説します。
この記事ではOculusQuestについて説明していますが、OculusGoでも同じ方法が使えます。
後日追記
2019年7月22日からロールアウトが始まったバージョン7.0のファームウェアでは、特別な手順は不要になりました。Oculus Quest2では最初から利用になっています。
最新の情報はこちらを確認してください。
以下古い記述ですが、何かの参考になるかもしれないのでそのまま残しておきます。
下準備
SideQuestをインストールし、ランチャーを起動できるところまで環境を設定して下さい。
QuickShorcutMakerのインストール
標準では開けない設定画面を開く方法として、Android界隈では割と有名なアプリであるQuickShortcutMakerを利用します。
当然Oculusのストアからはインストールできないので何らかの方法でapkを入手します。私はapkpureを利用しましたが、この手のサイトは自己責任で利用して下さい。
Bluetoothの設定画面からペアリングする
実際のペアリング設定は以下のようにして行います。
- ライブラリの「提供元不明のアプリ」からSideQuestを起動する
- SideQuestのドロワーからQuickShorcutMakerを起動する
- QuickShorcutMaker左上の検索欄に「bluetooth」と入力する
- 絞り込まれた結果から「com.android.settings/com.android.settings.Settings$BluetoothSettingsActivity」を選ぶ
- Bluetooth機器の一覧画面が表示されるので普段と同じようにペアリング設定を行う
これでペアリングしたイヤホン・スピーカーから音が出るようになったはずです。
気になる対応コーデック
Apt-X対応のイヤホンを接続してどのコーデックが選ばれるのかを調べました。残念ながらSBCのみのサポートのようです。惜しい。
bt_btif : btif_media_send_selected_codec: codec: 0
bt_btif : btif_media_send_vendor_transport_cfg: codec: 0
bthost_ipc: audio_get_codec_config: audio_get_codec_config: state = AUDIO_A2DP_STATE_STARTED
bthost_ipc: a2dp_read_codec_config: a2dp_read_codec_config
bthost_ipc: a2dp_read_codec_config: a2dp_read_codec_config
bthost_ipc: a2dp_read_codec_config: got codec config
bthost_ipc: a2dp_read_codec_config: code_config[0] = 0
bthost_ipc: a2dp_read_codec_config: code_config[1] = 6
bthost_ipc: a2dp_read_codec_config: code_config[2] = 0
bthost_ipc: a2dp_read_codec_config: code_config[3] = 0
bthost_ipc: a2dp_read_codec_config: code_config[4] = 17
bthost_ipc: a2dp_read_codec_config: code_config[5] = 21
bthost_ipc: a2dp_read_codec_config: code_config[6] = 2
bthost_ipc: a2dp_read_codec_config: code_config[7] = 51
bthost_ipc: a2dp_read_codec_config: code_config[8] = 115
bthost_ipc: a2dp_read_codec_config: code_config[9] = 3
bthost_ipc: a2dp_read_codec_config: code_config[10] = 168
bthost_ipc: a2dp_read_codec_config: code_config[11] = 67
bthost_ipc: a2dp_read_codec_config: code_config[12] = 5
bthost_ipc: a2dp_read_codec_config: code_config[13] = 0
bthost_ipc: a2dp_codec_parser: a2dp_codec_parser
bthost_ipc: a2dp_codec_parser: Copied codec config
bthost_ipc: a2dp_codec_parser: SBC: Done copying full codec config
Oculus QuestのAndroidバージョンは7.1.1なので、これが8.0ベースになると変わるかもしれません。(8.0からOSレベルでApt-XやLDACがサポートされています)
最後に
OculusQuestは、音響の良さに定評があったOculus Riftとは打って変わり、Oculus Goと同等の安価なスピーカーにダウングレードされてしまいました。ゲームを遊ぶ分には問題ないのですが、ライブ映像鑑賞などの音楽中心の用途には少々厳しいです。
コーデックはSBCにしか対応していないため、完璧な対策とは言えないですが、なんとかこれでしのいでみたいと思います。
Androidの設定ファイルを潜っていくと、オーディオ機能が標準からいくつかカットされていたものの、Bluetooth関連の設定は明示的に残してありました。このことから、OculusはBluetoothのオーディオ機能のサポートを意図を持って組み込んだと捉えることも出来ます。将来的には公式にサポートされる日が来るのかもしれません。
ディスカッション
コメント一覧
いつも参考にさせて頂いています。
RiftからQuestに買い換えて、個人的に唯一残念な点がサウンドだったのですが、
純正イヤフォンは高いしそもそも売り切れで買えない・・ので、
仕方なくセリア(100円均一ショップ)の片耳用ステレオヘッドホンを2個購入して代用していました。
そして今回、こちらの方法で無事BluetoothヘッドホンをQuestで使用可能になりました!
ありがとうございます。
ただBeat SaberだけはBTを使用すると動作がカクカクになって実用出来ませんでした。
BOXとかVadar Immortal は問題なかったです。
処理負荷の問題なんでしょうかね?
もしかしたら、この辺りの課題があってBTはOpenされてないのかも知れませんね。
情報ありがとうございます。確かにBeat Saberだけはカクカクになりますね。
何でだろうと思ってtopコマンドでCPU負荷を雑に調べてみたのですが、beatsaverプロセスが10%程度、trackingserviceが12%程度、bluetoothプロセスが1%程度でした。
これだけ見ればbluetoothのエンコード負荷が直接影響しているわけではなさそうなのですが、何にせよOculusのVRシステムが何らかの問題を抱えていそうです。やっぱり当分は裏技的な位置付けのままになりそうですね。
ピンバック & トラックバック一覧
[…] Oculus QuestでBluetoothイヤフォン・スピーカーを使う […]