CBCentralManager
을 사용하여 블루투스 장치를 검색하고 연결하려고합니다. 이 장치는 헤드셋입니다. 그것은 전화로 블루투스 스캔을 통해 발견 할 수 있습니다. 장치 이름은 "A1-25"입니다. "A1-25"를 전화 블루투스 설정에서 직접 연결하면 노래를 재생할 수 있습니다. 정상적으로 작동합니다. 내가 CBCentralManager
를 사용하여 스캔 주변을 시작iOS 핵심 블루투스 - 검색에서 실제 장치를 찾을 수 없습니다.
. "A1-25"라는 주변 장치를 볼 수 없습니다. 하지만 오히려, "EQ_Test_llyan"이라는 주변 장치를 보았습니다. 그러나 전에 블루투스 설정에서 주변 기기를 검색 할 때 "EQ_Test_llyan"이 표시되지 않았습니다.
주변 "EQ_Test_llyan"2017-12-13 16:35:07.233021+0800 Test[1405:500801] started scanning
2017-12-13 16:35:17.469375+0800 Test[1405:500801] discovered peripheral with name EQ_Test_llyan advertisementData:{
kCBAdvDataIsConnectable = 1;
kCBAdvDataLocalName = "EQ_Test_llyan";
kCBAdvDataManufacturerData = <b0024551 5f544553 54>;
}
2017-12-13 16:35:17.470672+0800 Test[1405:500801] connecting with device!!!!!!!
2017-12-13 16:35:17.654884+0800 Test[1405:500801] connected to peripheral name:EQ_Test_llyan id:7326E741-BF68-D9E8-D7A6-5F27227685A7
2017-12-13 16:35:17.656526+0800 Test[1405:500801] discovering services for peripheral name:EQ_Test_llyan
2017-12-13 16:35:18.193311+0800 Test[1405:500801] discovered services:(
) for peripheral name:EQ_Test_llyan
에는 서비스 (로그 상기 참조)가없는, 그래서 그와 통신 할 수있다. 지금, 내가 전화 설정에서 블루투스 장치로 돌아 갔을 때 나는 이제 "EQ_Test_llyan"에 연결되었지만 "A1-25"에는 연결되어 있지 않습니다. 이제 음악을 연주하려고하는데 소리가 헤드셋에서 나오지 않습니다.
나는 헤드셋을 해제
, 나는 "A1-25"이 사라질 것 "EQ_Test_llyan"과의 연결이 끊어집니다. 그러므로 나는 "EQ_Test_llyan"과 "A1-25"가 같은 장치에서 온다고 결론을 내린다.동시에 둘 모두에 연결할 수 있습니다. 프로그래밍 방식으로 "EQ_Test_llyan"에 연결하면 설정에 나타납니다. 그런 다음 수동으로 "A1-25"에 전화 설정에서 연결합니다. 그것은 아래 사진에서 보여주는 것과 같을 것입니다. 음악을 재생할 때 헤드셋에서 소리가 나올 수 있습니다. 그래서, "A1-25"에 연결되어 있지만 "EQ_Test_llyan"에만 연결되어있는 한 정상적으로 작동합니다.
그래서 제 질문은 다음과 같습니다- 가 CBPeripheral가 실제 장치를 참조인가? 그렇다면 "A1-25"를 스캔 할 수 없지만 "EQ_Test_llyan"을 스캔 할 수 있습니까?
- 전화가 "A1-25"에 연결되어 있고 그 옆에 "i"가 인 경우 연결이 종료 될 수 있음을 유의하십시오. 하지만 전화가 "EQ_Test_llyan"에 연결되어있을 때는 "i"가 이 아닙니다. 따라서 사용자가 기기를 끄지 않으면 연결을 해제 할 수 없습니다. 그래서, 둘의 차이점은 무엇입니까? "AI-25"는 실제 장치입니까? "EQ_Test_llyan"은 연결에 불과합니까? 나는 을 이해하지 못한다.
안녕하세요, 답변 해 주셔서 감사합니다. 그렇다면 블루투스 헤드셋의 마이크에서 소리를 가져 와서 앱에서 재생할 수 있습니까? 내 말은, BLE GATT 프로파일의 사운드 관련 프로파일이 없다고하셨습니까? 그렇다면 BLE로 실시간 사운드 데이터를 전달할 수 없다는 뜻입니까? –
BLE 연결을 통해 실시간 사운드를 전달할 수 없으며, 부적절한 API가 있으며 소리를 전송할 속도가 너무 느립니다. 헤드셋을 사용하여 앱에서 소리를 재생하고 녹음 할 수 있습니다. 휴대 전화 설정 화면에서 헤드셋 (A1-25)을 페어링합니다. 그런 다음 내부 마이크 및 스피커가 아닌 헤드셋을 사용하도록 앱에서 오디오 세션을 구성해야합니다. – fedulvtubudul
이해해 주셔서 감사합니다. –