問題タブ [bluetooth-sco]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 通話後に Bluetooth ヘッドセット (ハンズフリー プロファイル) を再接続する
AudioManager の MODE_IN_CALL を使用して、Bluetooth ヘッドセットを介してオーディオを再生する Android アプリに取り組んでいます。PhoneStateListener を使用して、通話の開始と終了を検出できます。そのため、通話の開始時にオーディオを一時停止できますが、通話が終了した後に再接続してオーディオを再開するのに問題があります。
通話中、システムは MODE_IN_CALL で動作しますが、通話が終了すると、システムが AudioManager のモードを MODE_NORMAL に変更するまでに約 4 秒の遅延があります。そのため、通話後に Bluetooth デバイスに再接続すると、システムは 4 ~ 5 秒後に強制的に切断します。現在、この問題を回避するためにタイマーを使用していますが、あまり良い解決策ではないと思います。
役立つ可能性のあるインテントまたはシステム イベントがあるかどうかを知りたいです。または、この問題に対する他の解決策。助けてくれてありがとう。
java - Bluetooth 経由で接続された 2 つのデバイス間でオーディオ (音声通話) を送信する AT コマンドはありますか?
Bluetooth経由で接続された2つのデバイスがあります。現在、ハンズフリー オーディオ ゲートウェイを使用して接続した後、自分のデバイスから (プログラムによってアプリから) 別のデバイスへの音声通話を開始しようとしています。
ただし、通話を開始することしかできず、通話が確立されると、相手の声が聞こえたり、自分の声を送信したりすることはできません。そのためには、もっとやらなければならないことがあることに気づきました。しかし、私はそれが何であるかを見つけることができません。おそらく、通話を開始し、オーディオを Bluetooth 接続ハンドセットにルーティングするための AT コマンドがあるのでしょうか? それとも他の方法ですか?
これまでの私のコーディングの試みは、この質問で説明されています: Android で Handfree Audio Gateway を介して AG を介して HF から通話を開始するにはどうすればよいですか?
android - Bluetooth ヘッドセットでの startVoiceRecognition が機能しない
S3、S4、Samsung Grand などの一部のデバイスではほとんど問題なく動作する、音声認識付きの Bluetooth ヘッドセットを使用する必要があります。ただし、Nexus 7で同じことを試したところ、
メソッド呼び出し時のエラーstartVoiceRecognition()
。このSO pageのコードを使用しています。
この問題が一部のデバイスでのみ発生する理由として考えられるものは何ですか? この問題を解決する方法はありますか?
android - Bluetooth ヘッドセットからオーディオを録音する方法 (startBluetoothSco() )
Bluetooth ヘッドセットからオーディオを録音しようとしています。startBluetoothSco() は Android のバージョンによって動作が異なります。Android 4.2、4.4、および 5.0 で Bluetooth ヘッドセットからオーディオを録音します。" Nokia BH-310 および 9xxPlantronics " Bluetooth ヘッドセットを使用。
サンプルレート = 8000;
- Android 4.2 を実行しているデバイスは、AudioRecord() オブジェクトが次のように作成された場合にのみ、Bluetooth デバイスからオーディオを録音します。
AudioSource.DEFAULT
- Android 4.4 を実行しているデバイスは、AudioRecord() オブジェクトが次のように作成された場合にのみ、Bluetooth デバイスからオーディオを録音します。
AudioSource.DEFAULT
または
AudioSource.MIC
- Android 5.0 Lollipop を実行しているデバイスは、AudioRecord() オブジェクトが次のように作成された場合にのみ、Bluetooth デバイスからオーディオを録音します。
AudioSource.VOICE_COMMUNICATION
Android 5.0 デバイスの接続状態のログ
上記の実行に使用している完全なコードはこちらです。
MainActivity.java
これは、オーディオレコードオブジェクトを作成して録音を開始する方法です。
android - startBluetoothSco が呼び出された後、AudioTrack を使用してデバイスでオーディオを再生するためのコード フローは何ですか?
Android OS 4.1 を搭載したモバイル デバイスを Bluetooth デバイス (デバイス クラス = 1792) に接続し、BluetoothSco を使用してオーディオ (音声) をルーティングしています。createRfcommSocketToServiceRecord を使用して BluetoothSocket を正常にセットアップしました。
私の設定:
周波数 = 8000 で AudioRecord と AudioTrack を使用し、AudioRecord のソースとして MediaRecorder.AudioSource.MIC を使用し、AudioTrack の AudioManager.STREAM_VOICE_CALL を使用し、AudioManager モードの MODE_IN_COMMUNICATION と MODE_IN_CALL の両方を試します。
成功せずに。デバイスで音声が聞こえません。
私の質問:
- MODE_IN_COMMUNICATION または MODE_IN_CALL を使用する必要がありますか?
- デバイスでプレイするには、MODE_NORMAL またはその他のモードに切り替える必要がありますか?
- デバイスで SCO オーディオを再生するためのコード フローを提案できますか?
- 確認する作業コードを指摘していただけますか?
ノート:
- デバイスで「メディア オーディオ」プロファイル (A2DP) が無効になっています。「通話オーディオ」プロファイル (HFP) のみが有効になっています。
いくつかのコードを喜んで共有しますが、既存の SO Q&A を考えると、おそらく同じように見えます。
よろしく。
android - Bluetooth scoでのAndroidオーディオの再生開始が遅い
Bluetooth SCO 経由で TextToSpeech オーディオを再生するアプリを開発しています。ターゲットの bluetooth デバイス (カー ステレオ) に接続し、TextToSpeech エンジンに話すように指示した後、SCO 経由で接続してから TextToSpeech を再生するまでに数秒待っても、オーディオの再生が開始されるまでに約 15 秒かかります。
SCO経由で接続するために使用しているコードは次のとおりです。
TextToSpeech を再生するために使用しているコードは次のとおりです。
他の Android アプリ (VOIP や組み込みのテレフォニー アプリを含む) は、この遅延の影響を受けません。私が作成した同等の iOS アプリには遅延はありません。したがって、問題はステレオにあるのではないことはわかっています。
どんな助けでも大歓迎です、ありがとう