蓝牙耳机的工作原理是什么 -
4个回答
展开全部
蓝牙耳机的工作原理
关于音频流的蓝牙传输可以通过两个方式:
1) 通过PCM接口来传送
2)通过模拟UART来传送
下面分别来讲述:
1)通过PCM接口来传送
通过音频播放器(eg: Media Player)来打开音频文件,调用Audio驱动,音频文件通过解码后,由PCM输出到Host端蓝牙模块的PCM输入端,接着,经过蓝牙模块的处理后,由RF无线模块发送给Client 端蓝牙设备。
Client 端蓝牙设备经由无线接收模块后,滤波,稳压,经微处理芯片处理后,直接由Speaker播放。
2)通过模拟UART来传送
通过设置注册表【HKEY_LOCAL_MACHINE\Services\BTAGSVC】 IsEnabled =1 使得系统引导时自动加载语音网关(AG)服务。
首先,通过手动配置建立Host端蓝牙设备与Client端蓝牙设备ACL链接(面向无连接的异步链路),接着在Applicaiton或Audio Driver中调用 IOCTL_AG_OPEN_AUDIO,重新建立Host端蓝牙设备与Client端蓝牙设备SCO链接(面向连接的同步链路),接着AG自动发送waveOutMessage((HWAVEOUT)i, WODM_BT_SCO_AUDIO_CONTROL, 0, TRUE); 从而建立了Audio至蓝牙芯片之间的通道,也即,实现了音频流到蓝牙模块的传送。
然后,经由主机端蓝牙模块将音频流打包经由RF模块发送出去。
客户端蓝牙耳机接收到无线音频包后,滤波,稳压,经微处理芯片处理后,由PCM传送给音频编解码器芯片,最后,由Speaker播放。
下面这段段码是建立Host端蓝牙设备与Client端蓝牙设备SCO链路
HANDLE h = CreateFile(L"BAG0:",0,0,NULL,OPEN_EXISTING,0,NULL);
if (INVALID_HANDLE_VALUE == h) {
wprintf(L"Error calling CreateFile on Audio Gateway.\r\n");
return 0;
}
if (onaudio==1) {
wprintf(L"Opening Bluetooth audio...\n");
BOOL fStatus = DeviceIoControl(h,IOCTL_AG_OPEN_AUDIO,NULL,0,NULL,0,NULL,NULL);
if (FALSE == fStatus) {
wprintf(L"Operation failed: %d.\n", GetLastError());
}
else {
wprintf(L"Operation successful.\n");
}
CloseHandle(h);
return 0;
}
else if (onaudio==0) {
wprintf(L"Closing Bluetooth audio...\n");
BOOL fStatus = DeviceIoControl(h,IOCTL_AG_CLOSE_AUDIO,NULL,0,NULL,0,NULL,NULL);
if (FALSE == fStatus) {
wprintf(L"Operation failed: %d.\n", GetLastError());
}
else {
wprintf(L"Operation successful.\n");
}
CloseHandle(h);
return 0;
}
关于音频流的蓝牙传输可以通过两个方式:
1) 通过PCM接口来传送
2)通过模拟UART来传送
下面分别来讲述:
1)通过PCM接口来传送
通过音频播放器(eg: Media Player)来打开音频文件,调用Audio驱动,音频文件通过解码后,由PCM输出到Host端蓝牙模块的PCM输入端,接着,经过蓝牙模块的处理后,由RF无线模块发送给Client 端蓝牙设备。
Client 端蓝牙设备经由无线接收模块后,滤波,稳压,经微处理芯片处理后,直接由Speaker播放。
2)通过模拟UART来传送
通过设置注册表【HKEY_LOCAL_MACHINE\Services\BTAGSVC】 IsEnabled =1 使得系统引导时自动加载语音网关(AG)服务。
首先,通过手动配置建立Host端蓝牙设备与Client端蓝牙设备ACL链接(面向无连接的异步链路),接着在Applicaiton或Audio Driver中调用 IOCTL_AG_OPEN_AUDIO,重新建立Host端蓝牙设备与Client端蓝牙设备SCO链接(面向连接的同步链路),接着AG自动发送waveOutMessage((HWAVEOUT)i, WODM_BT_SCO_AUDIO_CONTROL, 0, TRUE); 从而建立了Audio至蓝牙芯片之间的通道,也即,实现了音频流到蓝牙模块的传送。
然后,经由主机端蓝牙模块将音频流打包经由RF模块发送出去。
客户端蓝牙耳机接收到无线音频包后,滤波,稳压,经微处理芯片处理后,由PCM传送给音频编解码器芯片,最后,由Speaker播放。
下面这段段码是建立Host端蓝牙设备与Client端蓝牙设备SCO链路
HANDLE h = CreateFile(L"BAG0:",0,0,NULL,OPEN_EXISTING,0,NULL);
if (INVALID_HANDLE_VALUE == h) {
wprintf(L"Error calling CreateFile on Audio Gateway.\r\n");
return 0;
}
if (onaudio==1) {
wprintf(L"Opening Bluetooth audio...\n");
BOOL fStatus = DeviceIoControl(h,IOCTL_AG_OPEN_AUDIO,NULL,0,NULL,0,NULL,NULL);
if (FALSE == fStatus) {
wprintf(L"Operation failed: %d.\n", GetLastError());
}
else {
wprintf(L"Operation successful.\n");
}
CloseHandle(h);
return 0;
}
else if (onaudio==0) {
wprintf(L"Closing Bluetooth audio...\n");
BOOL fStatus = DeviceIoControl(h,IOCTL_AG_CLOSE_AUDIO,NULL,0,NULL,0,NULL,NULL);
if (FALSE == fStatus) {
wprintf(L"Operation failed: %d.\n", GetLastError());
}
else {
wprintf(L"Operation successful.\n");
}
CloseHandle(h);
return 0;
}
展开全部
蓝牙(Bluetooth)一词源起於西元十世纪统一丹麦及挪威的北欧维京国王 Harald Bluetooth,是由易利信(Ericsson)所研发的一种短距离无线传输介面,并在 1998 年联合 IBM、Intel、Nokia、Toshiba 五家厂商成立 Bluetooth SIG 蓝牙联盟(Bluetooth Special Interest Group)。而蓝牙技术最主要的三个特性分别为:无方向性、语音和资料的传输、及可以同时连结多个装置。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-07-29
展开全部
如何选购蓝牙耳'机:
一查兼容性
二看芯片品牌
三问传输距离
四选版本
五挑外形
四选版本
五挑外形
一查兼容性
二看芯片品牌
三问传输距离
四选版本
五挑外形
四选版本
五挑外形
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询