Windows10 の標準機能では、aptX で接続されているのか、SBC で接続されているのかを確認できない。
なんだか Bluetooth だと遅延が大きい気がするのでaptX対応のハズだけど、SBCなのか?と疑って確認方法を調べたのでメモとして残しておく。
参考サイト:
How to Check Which Bluetooth A2DP Audio Codec Is Used on Windows
https://helgeklein.com/blog/how-to-check-which-bluetooth-a2dp-audio-codec-is-used-on-windows/
Audio over Bluetooth: most detailed information about profiles, codecs, and devices
https://habr.com/en/post/456182/
Collecting the trace
https://gist.github.com/PatrickLang/71ef34da68c174380c8927940850db6d
#必要ソフトウェア:
Windows Performance Analyzer | Microsoft Docs
https://docs.microsoft.com/ja-jp/windows-hardware/test/wpt/windows-performance-analyzer
ADK をダウンロードして、インストーラで「Windows パフォーマンスツールキット」にチェックを入れてインストール
手順
##1:Bluetooth イヤホンの接続を切る
何故か私の環境ではイヤホン接続済みだとログがうまく取れないことが多かったので
##2:Powershell を管理者権限で起動
管理者権限無いとログが取れないようです
##3:ログ取得開始
PowerShell 画面で以下を実行します
やっていることは
・マイドキュメントに移動して
・必要なファイルを github から落としてきて
・ログ取得を開始
cd $env:homepath
cd Documents
wget https://github.com/Microsoft/busiotools/raw/master/bluetooth/tracing/BluetoothStack.wprp -outfile .\BluetoothStack.wprp
wpr.exe -start BluetoothStack.wprp!BluetoothStack -filemode
##4:Bluetooth イヤホンを接続
確認したい Bluetooth イヤホンを Windows10 に接続します
##5:音源を流す
Bluetoothイヤホンに何か音を流します。
Youtube でも 動画ファイルでも何か音をイヤホンに流します。
・・何故か Google Meet ではうまくログが取れなかったですが。。何故だろう。。
##6:2~3分音を流したらログ取得終了
Powershell 画面で以下を実行します
(終了したら PowerShell 画面は閉じてもOK)
wpr.exe -stop trace-1.etl
1分程度だとうまくログが取れていないことが多かったです
2~3分より長くとると、ログが大きくなって確認に時間がかかっちゃいます
##7:Windows Performance Analyzer で取得したログを開く
マイドキュメントを開いて、保存されている trace-1.etl をダブルクリック
Windows Performance Analyzer が立ち上がって、ログを開いてくれるハズ
※ 画面キャプチャはファイル名違います。。スミマセン
##8:解析画面を開く
1.左上の System Activity をクリックすると、下にビロっと表示が広がって
2.広がった Generic Events をカチカチっとすると、右に大きく内容が表示されます
・・ちょっと待ったないと Generic Events は読み込み中の状態になってます
##9:接続 Codec を検索
開いた画面上部の虫眼鏡から検索
検索文字列に A2dp を入力して[Find All]を実行
##10:Codec を確認
もし SBC で接続している場合は [ A2dpSetSbcBitrate ]ってログが出てくるようです
もし AAC で接続している場合は [ A2dpSetAacBitrate ]ってログが出てくるようです
※ キャプチャなし(手持ちに SBC、AAC のみってデバイス無かったです)
AptX で接続している場合は [ A2dpSetAptX・・・] って出てくれれば良いんですが、出ないようです。
※ 手持ち環境のみの確認
代わりに [ A2dpAvailableRemoteCodec ] を見ると、接続デバイスで対応している Codec 一覧が出てます。
見るべきは以下3部分
・A2dpStandardcodecID(Field 2)
・A2dpVendorID(Field 3)
・A2dpVendorCodecID(Field 4)
A2dpStandardcodecID | A2dpVendorID | A2dpVendorCodecID | Codec |
---|---|---|---|
0 | 0 | 0 | SBC |
2 | 0 | 0 | AAC |
255 | 79 | 1 | aptX |
255 | 215 | 36 | aptX HD |
ってことらしいです
※ ここ情報: https://habr.com/en/post/456182/
※ リンク先は16進数表記になってます
検証で利用したのは Anker の Soundcore Liberty Air 2
https://www.ankerjapan.com/products/a3910
対応コーデックは AAC / SBC / aptX ですが、ログ内容を見ると
A2dpStandardcodecID | A2dpVendorID | A2dpVendorCodecID |
---|---|---|
255 | 215 | 37 |
255 | 215 | 38 |
255 | 10 | 260 |
と、参考サイトにはない値があります。。
でも、255 の 79 で aptX がサポートされていて、
[ A2dpStreaming ] の行を見ると、Streaming が 255 の 79 で実行されているので aptX で音が流れてる(Streaming)ってことでいいですよね。きっと
スッキリしない結果となりましたが、SBCではなく aptX で接続されているようで良かった。。かな
Meet で遅延を感じるのは・・相手方の誰かがなんか遅延が大きいからなのかな