タグ付けされた質問 「bluetooth」

3
iOSシミュレーターを起動するとBluetoothヘッドフォンの音楽品質が低下する
状況は次のようになります。 私はBluetoothヘッドフォンで音楽を同時に聴きながらXcodeをプログラミングしています...あなたは世界を遮断することを知っています。 次に、iOSシミュレーターでアプリを起動します。突然、透き通った音楽が文字化けし、1940年代に2ブロック離れた浴槽で演奏しているような超低品質になります。 注:ノートパソコンやシネマディスプレイで音楽を再生していて、シミュレーションを起動しても、品質の低下は起こりません。Sim-> Bluetoothの問題のみのようです。 問題は単に迷惑なだけではありません。シミュレーターを停止した後も、くだらないバスタブ品質の音楽が続くことが多いからです。これを修正するには、OSXでサウンド設定を開き、ラップトップサウンドに短時間切り替えてから、Bluetoothヘッドフォンに戻す必要があります。 私はシミュレータを1日50回起動し、毎回この切り替えを行う必要があるだけでなく、40年代のモノハムラジオ品質の音楽を聴く必要があるため、これは大きな問題です。 参考までに、私が使用しているヘッドフォンはPlantronics BackBeat Proで、ファームウェアは最新です。私はOSX 10.11.4とXcode 7.3を使用していますが、この問題はすべてのバージョンで2年以上継続しています。1940年代から私を助けてもらえますか?

5
Android 4.3 Bluetooth Low Energyが不安定
現在、Bluetooth Low Energyを使用するアプリケーションを開発しています(Nexus 4でテスト中)。Android 4.3で公式のBLE APIを使い始めた後、初めてデバイスを接続した後、そのデバイスまたは他のデバイスに正常に接続/通信することができないことに気付きました。 ここのガイドに従って、問題なくデバイスに接続し、サービスと特性をスキャンし、通知の読み取り/書き込み/受信を行うことができます。ただし、切断して再接続した後、サービス/特性をスキャンしたり、読み取り/書き込みを完了したりできないことがあります。これがなぜ起こっているのかを示すログに何も見つかりません。 これが発生したら、アプリケーションをアンインストールし、Bluetoothを無効にして、電話が再稼働する前に再起動する必要があります。 デバイスが切断されているときはいつでも、必ずBluetoothGattオブジェクトでclose()を呼び出し、それをnullに設定します。洞察はありますか? 編集: ログダンプ:これらのログについて、私は自分の電話をルート化し、/ etc / bluetooth / bt_stack.conf内の関連アイテムのトレースレベルを上げました 接続の成功 -電話を再起動してアプリをインストールした後の最初の試行。接続、すべてのサービス/特性の検出、読み取り/書き込みができます。 失敗した試行1-これは、上記の正常な接続から切断した後の次の試行です。特性を見つけることができたようですが、最初の読み取り試行でnull値が返され、その後すぐに切断されました。 失敗した試み2-サービス/特性を発見することさえできない例。 編集2: 接続しようとしているデバイスは、TIのCC2541チップに基づいています。私はTI SensorTag(これもCC2541に基づく)を入手して遊んでみたところ、TIが昨日、SensorTagのAndroidアプリをリリースしたことを発見しました。ただし、このアプリには同じ問題があります。これを他の2つのNexus 4でテストしましたが、同じ結果が得られました。SensorTagへの接続は1回目または2回目は成功していますが、(ログによると)その後のサービスの検出に失敗し、あらゆる種類のクラッシュを引き起こしています。この特定のチップに問題があるのか​​と思い始めています。

6
iBeacon Bluetoothプロファイルとは
いくつかのBluetooth低エネルギー開発キットを使用して独自のiBeaconを作成したいと思います。AppleはまだiBeaconsの仕様を発表していませんが、一部のハードウェア開発者はAirLocateサンプルコードからiBeaconをリバースエンジニアリングして、iBeacon開発キットの販売を開始しています。 では、iBeacon Bluetoothプロファイルとは何ですか? Bluetooth Low Energyは、LEプロファイルサービスの検出にGATTを使用します。したがって、iBeacon属性の属性ハンドル、属性タイプ、属性値、そして多分属性のアクセス許可を知る必要があると思います。したがって、U2がE2C56DB5-DFFB-48D2-B060-D0F5A71096E0のiBeaconのメジャー値が1でマイナー値が1の場合、Bluetooth GATTプロファイルサービスはどうなりますか? ここに私がAppleのフォーラムでの議論やドキュメントを通して行ったいくつかの仮定があります。 Bluetooth周辺機器のプロファイルサービス(GATT)を見るだけで、iBeaconであることを知ることができます。 メジャーキーとマイナーキーは、このプロファイルサービスのどこかにエンコードされています すでにこれを理解していると思われるiBeacon Dev Kitを使用している企業がいくつかあります。 http://redbearlab.com/ibeacon/ http://kontakt.io/ うまくいけば、次のようなプロファイルがBluetooth.orgに投稿されます。https://www.bluetooth.org/en-us/specification/adopted-specifications

7
ibeacon distancingを理解する
ibeacon(ビーコン/ Bluetooth-lowenergy / BLE)との距離がどのように機能するかの基本的な概念を理解しようとしています。ibeaconがどれだけ正確に測定できるかについての真のドキュメントはありますか?私が300フィート離れているとしましょう... ibeaconがこれを検出することは可能ですか? 特にv4&の場合。v5とiOSを使用しますが、通常はBLEデバイスです。 Bluetoothの周波数とスループットはこれにどのように影響しますか?ビーコンデバイスは、距離を拡張または制限できます/基盤となるBLEを改善できますか? すなわち | Range | Freq | T/sec | Topo | |–—–––––––––––|–—––––––––––|–—––––––––––|–—––––––––––| Bluetooth v2.1 | Up to 100 m | < 2.481ghz | < 2.1mbit | scatternet | |-------------|------------|------------|------------| Bluetooth v4 | ? | < 2.481ghz | < 305kbit | mesh | |-------------|------------|------------|------------| Bluetooth …

8
AndroidでプログラムでBluetoothを有効/無効にする方法
プログラムでBluetoothを有効/無効にしたい。次のコードがあります。 BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (!mBluetoothAdapter.isEnabled()) { Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); ただし、このコードはSDK 1.5では機能しません。どうすれば機能させることができますか?
104 android  bluetooth 

16
IOException:読み取り失敗、ソケットが閉じている可能性-Android 4.3のBluetooth
現在、Nexus 7(2012)でBluetooth 4.3をAndroid 4.3(ビルドJWR66Y、2番目の4.3更新プログラム)で開くと、奇妙な例外に対処しようとしています。関連する投稿をいくつか見ました(例:https : //stackoverflow.com/questions/13648373/bluetoothsocket-connect-throwing-exception-read-failed)が、この問題の回避策を提供しているようには見えません。また、これらのスレッドで提案されているように、再ペアリングは役に立たず、常に(愚かなループを通じて)接続しようとしても効果がありません。 私は組み込みデバイス(noname OBD-IIカーアダプター、 http://images04.olx.com/ui/15/53/76/1316534072_254254776_2-OBD-II-BLUTOOTH-ADAPTERSCLEAR-CHECK-ENGINE-ますLIGHTS-WITH-YOUR-PHONE-Oceanside.jpg)。私のAndroid 2.3.7電話は接続に問題がなく、同僚のXperia(Android 4.1.2)も動作します。別のGoogle Nexus(「1」か「S」かはわかりませんが、「4」はわかりません)もAndroid 4.3で失敗します。 これが接続確立のスニペットです。サービス内で作成された独自のスレッドで実行されています。 private class ConnectThread extends Thread { private static final UUID EMBEDDED_BOARD_SPP = UUID .fromString("00001101-0000-1000-8000-00805F9B34FB"); private BluetoothAdapter adapter; private boolean secure; private BluetoothDevice device; private List<UUID> uuidCandidates; private int candidate; protected boolean started; public ConnectThread(BluetoothDevice device, boolean …

7
Android 6.0でBluetooth Low Energyスキャンのために位置情報を有効にする必要があります
Androidバージョン6.0にアップグレードした後、Bluetooth Low Energy(BLE)スキャンは、デバイスで位置情報サービスが有効になっている場合にのみ機能します。こちらを参照してください:Android 6.0のBluetooth Low Energy startScanがデバイスを見つけられません 基本的に、アプリだけでなく電話でも有効にする権限が必要です。これはバグですか?位置情報サービスを実際に有効にせずにスキャンすることはできますか?すべてのアプリの場所を用意する必要はありません。 編集 私はAPI 21 startScan()でBluetoothLeScanner提供されているのメソッドを使用していることを説明できませんでした。このメソッドに必要なマニフェストのコースと詳細な場所のアクセス許可で問題ありません。アプリのユーザーが自分のデバイスの位置情報サービス(GPSなど)を有効にしてアプリを使用できるようにしたくありません。 以前は、startScan()電話で位置情報サービスを無効にしてメソッドを実行し、結果を返していました。ただし、マシュマロでは、同じアプリケーションが「スキャン」しますが、電話で位置情報サービスが有効になっておらず、コース/ファイン位置情報のアクセス許可がマニフェストに残っている場合、サイレントに失敗して結果が返されませんでした。

1
(Dis)BluetoothデバイスをWindows.Devices.Bluetooth.Rfcomm(WP8.1)に接続する
Bluetoothデバイスへの接続と切断は、Windows Phone / Desktop8.1でさまざまな結果をもたらしています。Windows.Devices.Bluetooth.Rfcomm名前空間を使用していて、Bluetoothのバージョン/クラスが異なる複数のデバイスを接続しようとしました。 バージョン1.2(クラス1および2) バージョン2.0(クラス1および2) バージョン2.1(クラス1および2) Nokia Lumia625およびLumia635、Dell Latitude E6500、およびDell PrecisionM6400でテスト済み。 2.0または2.1デバイスのいずれかに接続しようとすると、問題が発生します。初めて各デバイスに接続しようとすると、すべてが正常に機能し、接続が開きます。その後、接続を閉じてデバイスを再接続すると、問題が発生します。 再接続中、接続は開かれず、デバッガーはSystem.Exceptionをスローします。 > Message: No further data is available. また、接続が失敗すると、Windows 8.1デバイスは、自分のアプリケーションが終了した場合でも、Bluetoothデバイスに(失敗して)自分で接続しようとし続けます。Windows 8.1デバイスは、Bluetoothデバイスが接続されていると表示することもありますが、デバイスは接続されていないことを視覚的に示します。Bluetoothデバイスを再接続する唯一の方法は、ペアリングを解除し、WindowsデバイスでBluetoothをシャットダウン/再起動することです。 DeviceInformation接続に失敗した後に新しい電話をかけようとすると、以前に接続しようとしたデバイスを返すことを拒否します。 > Message: The service cannot be found in the specified name space. 奇妙な結果として、1.2デバイスは完全に機能します。 マニフェストファイル: <m2:DeviceCapability Name="bluetooth.rfcomm"> <m2:Device Id="any"> <m2:Function Type="serviceId:00001101-0000-1000-8000-00805F9B34FB"/> </m2:Device> </m2:DeviceCapability> デバイスの選択: Guid RfcommChatServiceUuid …

7
Android:Bluetooth UUIDはどのように機能しますか?
BluetoothUUIDが何を意味するのかわかりません。UUIDはプロトコル(RFCOMMなど)を示しますか?もしそうなら、createRfcommSocketToServiceRecord()メソッドが名前にrfcommを正しく指定しているのに、なぜUUIDが必要なのですか?BluetoothChatサンプルコードに一見任意のハードコードされたUUIDがあるのはなぜですか? この質問のように、4.0.4を実行しているデバイスがリフレクションを使用して(外部のAndroid以外のデバイスに)接続しようとすると、nullポインター例外が発生するため、私の質問が発生します。しかし、その質問に対する解決策は私にはうまくいきません。UUID muuid = device.getUuids()[0].getUuid();例外が発生します。 編集:この回答に従って(を使用してUUID.fromString("00001101-0000-1000-8000-00805f9b34fb");)シリアルポートサービスのUUIDをハードコーディングすることで、この問題を解決しました。 createInsecureRfcommSocketToServiceRecord(),リフレクション方式を使用しているが使用していない、セキュリティで保護されていないrfcommソケットを作成するためにUUIDを指定する必要がある理由にさらに戸惑います。 誰かが私をまっすぐにすることができますか?

1
Bluetoothハンズフリークライアントの音量調節
hfpを使用してハンズフリークライアントデバイスとして機能するAndroidデバイスがあります。 次のコードを使用します。 電話を受けることができ、スピーカーとマイクは期待どおりに機能しています。 私の問題は、音量を制御できないように見えることです。 次のコード行を使用して正しいストリームを見つけようとしましたが、どれも機能していないようです。 電話からクラスのクライアントに送信されているボリュームコマンドを追跡しHeadsetClientStateMachineました。次のリンクの行#1822:lolipopのHeadsetClientStateMachine case EVENT_TYPE_VOLUME_CHANGED: if (event.valueInt == HeadsetClientHalConstants.VOLUME_TYPE_SPK) { mAudioManager.setStreamVolume(AudioManager.STREAM_BLUETOOTH_SCO, event.valueInt2, AudioManager.FLAG_SHOW_UI); mVgsFromStack = true; Log.d(TAG, "EventVolumeChange STREAM_BLUETOOTH_SCO value: " + event.valueInt2); } 電話で音量を変更すると、サウンドの更新された値を示すログが表示されます。これは、setStreamVolume()メソッドが呼び出されていることを意味しますが、音量は変更されません。 誰かがこの問題を引き起こしている可能性があることを知っていますか? 編集: 私はまだ答えを探しており、現在オーディオHALの実装に目を向けています。HALとオーディオドライバ間のリンクがどういうわけか間違っているのではないかと思います...低レベルの実装についてはよくわからず、何を探すべきかわかりません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.