はじめに オーディオ絡みのアプリを作っていると、音を鳴らす前にイヤホンが接続されているかチェックしたり、録音する前にマイクの対応サンプルレートを調べたりしたいことがあります。 特にイヤホンの確認は、有線タイプ以外にもBluetoothだったりUSBだったり様々な機種がある為、昔のように"ACTION_HEADSET_PLUG"のブロードキャストだけで調べるというわけにもいきません。 そこでAPI level 23 以上で使えるAudioManeger.getDevice()を試してみたところ、欲しい情報が取得できたのでまとめておきます。 AudioManager.getDevices サンプル 例えばこのような感じに取得できます。ただし、取得できない情報があったり、任意のフォーマットに対応している場合は空の配列が返ってきたりします。 環境は Google Nexus6 (Android7.