問題タブ [a2dp]
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.
ios - iPhoneでA2DPを使用してリモートデバイスに接続する方法
Bluetooth デバイスに接続し、アプリで A2DP 経由でオーディオを送信したいと考えています。だから私の質問は:
- Bluetooth デバイスをスキャンする方法
- それとペアリングする方法?
- ペアリングされたデバイスに音声を送信する方法は?
私はよく知ってCorebluetooth
いますが、低エネルギーではないBluetoothと互換性がないので、どのフレームワークを使用すればよいですか? ユーザーはデバイスを接続してアプリの設定をスローする必要がありますか、それとも対処できますか?
多くの質問があることは承知していますが、私が見つけたすべての情報は android に関するものでした。
ありがとうございました!
raspbian - RasberryPi A2DP Sink - 一時停止の問題 (PulseAudio、Bluez)
Bluetooth A2DP シンク (レシーバー) を作成してから、オーディオを vorbis ラジオ ストリーム (LAN のみ) に出力しようとしています。基本的には、これをスクイーズボックス (スクイーズライト) マルチルーム ミュージック システムへの Bluetooth アドオンとして使用したいと考えています。A2DP-sink-radio-transmitter は、任意のシステムに簡単に追加できるスタンドアロンの Raspberry Pi です。私は比較的Linuxに慣れていません。
私はすでに作業セットアップを達成していますが、Bluetooth ソース (電話) でオーディオを一時停止すると、すべて失敗します。
セットアップ: Bluetooth 電話 -> Bluez/PulseAudio [PA] で受信 -> PA「モジュール ループバック」を介して ALSA オーディオ カード シンクへの PulseAudio Bluez ソース -> pulseaudio をソースとして使用して vorbis ストリームをエンコードする Darkice (デバイス = pulse) - > 放送するicecast2
これはうまく機能しますが、電話を一時停止すると、ストリーム (VLC/Squeezebox で受信) が停止します (タイムスタンプの刻みが止まります)。オーディオを再開すると、大きなレイテンシが発生します (一時停止時間と同じ長さだと思います)。長い一時停止の後、ストリームは再開に失敗する可能性があります。Darkice は、音声入力が停止したことをはっきりと確認しています。
PulseAudio に一時停止を何らかの形で無音で埋めるように指示する必要があると思います。ALSA ダミー (snd-dummy) を介してルーティングを試みましたが、一定のノイズが発生しました。jackd を動作させることができませんでした。
Darkice は、OSS、ALSA、および JACK のソースを使用できます。
助けてください、私はすっごく近くにいます!
bluetooth - a2dp の MPEG 2,4 AAC-LC LATM ビットストリームをデコードする
Bluetooth A2DP プロファイル用に Apple IPhone から受信したビットストリームをデコードしようとしています。
Appleによると、構造は
私が持っているサンプルビットストリームは
36 00 47 00 | 80 60 00 01 00 06 3c ab 00 00 00 00 | 47 fc 00 00 b0 90 80 03 00 20 20 66 00 01 98 00 0d e1 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1c
最初の 4 バイトは L2CAP で、次の 12 バイトは AVDTP です。しかし、残りのバイトをデコードできません。親切に助けてください。
AudioMuxElement を定義する ISO 14496-3 を見たことがありますが、それでもバイトに関連付けることができません。
bluetooth - A2DPによる音声出力とHFPによる音声入力を同時に使用できますか?
Bluetoothヘッドセットのマイクから音声を入力し、Bluetoothスピーカーに出力するアプリケーションを開発したいと考えています。
入力にHFP、出力にA2DPを使っていると思います。2 つのプロファイルを同時に使用できますか?
ios - iOS で HFP または A2DP が接続されているかどうかを検出するにはどうすればよいですか?
HFP デバイス経由で音楽を再生できるプロジェクトに取り組んでいます。しかし、音楽の再生中にHFPまたはA2DPが接続されているかどうかを検出したいという問題があります。
現在、これを行うために AVFoundation フレームワークを使用しています。コードは次のとおりです。
これはうまく機能しますが、別の問題が発生します。音楽の再生中に、この方法を使用して HFP 接続を検出すると、音楽の再生が約 2 秒間中断されます。
そこで、HFP接続を検出する効果を減らすことができる別の方法を試しました。フラグを使用しています
HFP または A2DP が接続されているかどうかを示します。以前の方法を使用して、接続を 1 回だけ検出し (アプリの起動時)、結果を isHFPConnectedFlag に保存します。さらに、接続ステータスを同期する AudioSessionRouteChange を観察します。
ルート変更理由が である場合HFP が接続されているか切断されているかを知ることができる場合AVAudioSessionRouteChangeReasonNewDeviceAvailable
。AVAudioSessionRouteChangeReasonOldDeviceUnavailable
残念ながら、iPhone に HFP を接続すると、システムはこの通知を送信しないため、この状況では接続を検出できません。
これを実装する理由またはより良い方法を知っている人はいますか (音楽の再生を中断せずに HFP 接続を検出する)?
linux - ユーザー操作なしの Bluetoothctl
現在、次の方法で、ユーザーの操作なしで電話をマシンに正常にペアリングして接続できます。
携帯電話から BT デバイスを検索すると、自動的にペアリングされて接続されます。今、私は2つの問題を抱えています:
サービスの承認を求めます。
サービスを承認する
[エージェント] サービス 0000110e-0000-1000-8000-00805f9b34fb を承認します (はい/いいえ):
しかし、これは私が指定したので良くありませんNoInputNoOutput
!
- デバイスを信頼するには?入力するだけで十分
trust
ですが、同じ理由でこれを自動的に行う必要があります。
一般に、Bluetooth 接続と A2DP や HFP などの一般的なプロファイルを処理するための信頼できる C++ ライブラリはありますか?