2016-09-16 13 views
1

アンドロイドのさまざまな種類のオーディオデバイスを区別する方法はありますか?たとえば、私はオーディオデバイスタイプAとオーディオデバイスタイプBを別々のメーカーから入手しました。両方のデバイスがオーディオジャックを使用しています。ユーザーがオーディオデバイスタイプAまたはタイプBをプラグインするたびに、デバイスIDまたは名前、タイプを知りたいと思っていました。 BroadcastReceiverを使用して、オーディオデバイスのプラグイン/アウトを検出できます。しかし、デバイスIDや名前、タイプを取得できませんでした。シナリオ:オーディオデバイスタイプAが接続されている場合、サービスAを開始し、オーディオデバイスタイプBが接続されている場合は、サービスBを開始します。アンドロイドのさまざまな種類のオーディオデバイスを検出して区別する

答えて

1

いいえ、残念ながら不可能です。オーディオジャックは純粋にアナログ規格であり、デバイスを識別するための手段を提供していません。識別できる唯一のものは、ヘッドフォン(マイクなし)、ヘッドセット(マイク付き)、またはラインイン(ヘッドフォンよりも入力インピーダンスが高い)のいずれかです。後者の違いは実際にアプリには伝えられず、Androidのオーディオルーティングと音量設定の適用方法にのみ影響します。

USBおよびBluetoothデバイスの場合は、デバイスの製造元とIDに関する情報が利用できるため、区別することができますが、ブロードキャスト受信者だけでなく、より低いレベルのAPIを使用する必要があります。 https://developer.android.com/guide/topics/connectivity/usb/host.htmlおよびhttps://developer.android.com/guide/topics/connectivity/bluetooth.htmlを参照してください。

関連する問題