win8.1蓝牙怎么开开关

Windows 8.1: Play with Bluetooth Rfcomm
浏览新增加到 Windows 8.1 的命名空间,你会发现一个有趣、令人惊叹的对蓝牙的领域的支持。新的操作系统在“Windows.Devices.Bluetooth.Rfcomm”命名空间完整的支持了蓝牙Rfcomm。“无线频率通信”协议是一套简单的传输协议,它允许两个设备使用可能的数据流,就像在网络中使用TCP协议一样。
这意味着Rfcomm协议允许两个设备通过真正的 Socket 建立持久的连接。对遥控装置来说这是有趣的,取得了连续的数据流,并且打开一个广泛的采用定制的外围设备的应用。
它是如何工作的?
通过Rfcomm 通道创建一个连接并不像通过网络在两个设备通过Socket连接那样简单。你必须知道特有的事是蓝牙设备配对,这部分无法控制。我们只能在已经配对的蓝牙设备之间建立连接,这看起来好像是限制,但它完成一些令人讨厌的事,例如:安全检查。已经配对的设备也实现了安全认证,所以我们没有必要参与这一方面。因此,当扫描有效设备时(后续文章中说明)只是想简单的找到已经配对成功的设备。
在了解这一点后,连接过程在某种程度上来说是简单的,依赖于连接方的角色。连接端A 和 B,一个做 Server(A),另一个做 Client(B)。首先,A须要绑定蓝牙接口,关打开监听通道等待 Client 连接。这一阶段叫做“advertising”,A 简单的标识其可用性,并等待对待的连接。B 扫描可配对的和和效的设备进行配对。然后,试着去打开 Socket 连接到监听方。此时服务器接受连接,处理监听和得到已经建立表示 Socket 的连接。这样连接是完全有效的,并且两端都可以读/写好似通用的网络连接。
通过 BT连接 Windows Phone 8和 Windows
下面的示例演示了在 Lumia 925(WinodwsPhone 8) 与ASUS VivoTab(Windows8.1)之间创建连接的代码。在这个方案中,VivoTab 是服务端用于监听一个连接。另一方面Lumia 925试着连接 VivoTab。连接建立后,在手机上的每次点击通过蓝牙通道被传输到VivoTab 上,表现为点击 VivoTab 的屏幕。
让我们从服务端开始。首先,在manifest 中设置设备能力。表现为三个必须增加的元素,可以通过编辑器和手动修改 XML 来完成,修改后的 XML 如下:
1: &Capabilities&
&Capability Name=&privateNetworkClientServer& /&
&Capability Name=&internetClientServer& /&
&m2:DeviceCapability Name=&bluetooth.rfcomm&&
&m2:Device Id=&any&&
&m2:Function Type=&serviceId:A7EA96BB-4F95-4A91-9FDD-3CE3CFF1D8DA& /&
&/m2:Device&
&/m2:DeviceCapability&
9: &/Capabilities&
前面两个能力&Internet(Client & Server)& 和 &PrivateNetworks (Client & Server)&可以直接通过编辑manifest 编辑器来设置。其它部分是Rfcomm协议和创建的服务标识,标识符是一个开发者创建的UUID(Guid),用于创建Rfcomm提供者。
然后,在MainPage 页面的加载处开始监听通道:
1: private async TaskStartListen()
Provider =await RfcommServiceProvider.CreateAsync(
RfcommServiceId.FromUuid(RfcommServiceUuid));
StreamSocketListener listener = new StreamSocketListener();
listener.ConnectionReceived += HandleConnectionR
awaitlistener.BindServiceNameAsync(
Provider.ServiceId.AsString(),
SocketProtectionLevel.BluetoothEncryptionAllowNullAuthentication);
var writer = new DataWriter();
writer.WriteByte(ServiceVersionAttributeType);
writer.WriteUInt32(ServiceVersion);
var data =writer.DetachBuffer();
Provider.SdpRawAttributes.Add(ServiceVersionAttributeId, data);
Provider.StartAdvertising(listener);
代码首先创建了一个RfcommServiceProvider 实例,此实例标识协议、并且使用写在 manifest 中的 RfcommServiceUuid来创建。然后创建了StremSocketListener,并通过实例绑定在蓝牙通道上。最后,使用 DataWriter 在完成信息的传递。关于这一方面的更多的信息,请看下面的链接:
一旦使用方法StartAdvertising使提供者进入 advertising 模式,远程的设备可以试着打开一个连接。当一个连接检测到时,ConnectionReceived event被触发、并执行如下代码:
1: private voidHandleConnectionReceived(StreamSocketListener listener,StreamSocketListenerConnectionReceivedEventArgs args)
Provider.StopAdvertising();
listener.Dispose();
listener =
this.Socket = args.S
this.Reader = new DataReader(this.Socket.InputStream);
this.Run();
提供商的 advertising 模式被停止,监听关闭,这是因为此示例仅处理一个连接。保持 advertising 模式,可以处理多个连接。接受的 Socket 表示已建立的连接,通过此 Socket 可以发送与接收数据。
Windows Phone 8侧的事情简单很多。
1: private async TaskConnect()
PeerFinder.AlternateIdentities[&Bluetooth:PAIRED&] = &&;
var devices =await PeerFinder.FindAllPeersAsync();
var device =devices.FirstOrDefault();
if (device != null)
this.Socket = new StreamSocket();
await this.Socket.ConnectAsync(device.HostName, &1&);
this.Writer = new DataWriter(this.Socket.OutputStream);
this.bConnect.Visibility = Visibility.C
this.LayoutRoot.Tap += LayoutRoot_T
使用 PeerFinder 类扫描有效的设备,然后使用第一个设备。此处示例假设仅有一个有效的设备,但实际情况则必须提示一个配对设备的列表来选择。发现的设备通过 HostName 创建和连接 Socket。此时,Windows 8.1 可能询问用户是否接受连接。其余的代码是为了后续的通信创建策略(The rest of the code is to setup thedevice for the following communication.)。实现等待点击屏幕,采集 x 和
y 坐标,并通过已经创建了通道发送坐标:
1: private async void LayoutRoot_Tap(object sender,System.Windows.Input.GestureEventArgs e)
if (this.Writer != null)
varposition = e.GetPosition(this.LayoutRoot);
this.Writer.WriteInt32(1);
this.Writer.WriteInt32((int)position.X);
this.Writer.WriteInt32((int)position.Y);
await this.Writer.StoreAsync();
代码发送了三个整数。第一个代表命令,为了以后的扩展,然后就是坐标。一旦消息进入队列,方法 StoreAsync 通过流发送所有的包。另一方面:
1: private async void Run()
while (true)
Command command = (Command)await this.Reader.ReadInt32Async();
switch (command)
case Command.Tap:
await this.HandleTap();
catch (PeerDisconnectedException)
23: private async TaskHandleTap()
int x = await this.Reader.ReadInt32Async();
int y = await this.Reader.ReadInt32Async();
await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
Canvas.SetLeft(ellipse, x);
Canvas.SetTop(ellipse, y);
方法 run 是死循环,用于监听一个整数。这个整数是配对方发送来的命令,根据接收到的命令执行不同的处理。在此示例中,读取接下来的两个整数。然后在 canvas 上移动一个小的圆。注意:方法 ReadInt32Async不是 DataReader类的一部分,它是一个扩展方法。
1: public async static Task&Int32& ReadInt32Async(this DataReader reader)
uint available = await reader.LoadAsync(sizeof(Int32));
if (available & sizeof(Int32))
throw new PeerDisconnectedException();
return reader.ReadInt32();
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:430162次
积分:6977
积分:6977
排名:第1309名
原创:227篇
转载:53篇
评论:381条
难度:高级
类型:实战教学
(4)(4)(4)(4)(5)(5)(4)(6)(8)(4)(7)(10)(7)(6)(5)(2)(1)(1)(5)(4)(2)(6)(1)(5)(2)(5)(5)(1)(1)(1)(3)(4)(6)(1)(1)(3)(7)(6)(1)(4)(1)(1)(1)(2)(2)(4)(5)(10)(4)(14)(2)(5)(8)(3)(6)(8)(5)(1)(3)(5)(7)(6)(5)(5)(4)(8)(7)(6)后使用快捷导航没有帐号?
只需一步,快速开始
查看: 46|回复: 2
在线时间133 小时经验值506 最后登录帖子阅读权限60UID1655574
大学本科, 积分 506, 距离下一级还需 194 积分
TA的每日心情无聊 23:51签到天数: 18 天[LV.4]偶尔看看III
G币785 最后登录
马上注册,结交更多机友,下载更多应用,让你轻松玩转手机。
已有帐号?   下载游戏和软件,请【】进入机锋市场!
电脑是联想国行Y510P,原来没有蓝牙模块,自己购买安装了Broadcom博通BCM 4352 HMB双频无线网卡蓝牙4.0支持黑苹果,电脑BIos刷到了3.05,一次完美开机。wifi正常。蓝牙使用了Broadcom博通BCM 2070/BCM 20702系列Bluetooth蓝牙设备驱动12.0.1.210版For Win8-64/Win8.1-64(日发布)的驱动。
蓝牙可以和三星(港版s4_i9505)配对成功,能互传文件,但是蓝牙不能和手机互通音频,缺少呼叫音频和媒体音频。希望高手出手帮助解决。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
在线时间93 小时经验值5867 最后登录帖子阅读权限120UID4067679
导师, 积分 5867, 距离下一级还需 233 积分
TA的每日心情开心前天&07:35签到天数: 422 天[LV.9]以坛为家II
G币1368 最后登录
手機用了快兩年沒用過一次藍牙的擼過~
從前有個人不喜歡我 后來他死了...
在线时间0 小时经验值29 最后登录帖子阅读权限20UID
小学生, 积分 29, 距离下一级还需 21 积分
该用户从未签到
G币0 最后登录
从未用过手机蓝牙。只用过我的air蓝牙和苹果鼠标对接。
今日推荐 /1
不同以往!这次的试用活动不仅有非凡的性能怪兽哦
每位试用者还将会有ZenPower、 Lolliflash、ZenFlash体验~
还不赶快报名,体验非凡摄影体验,还有丰厚奖品等你拿!
Powered byWin8/Win8.1蓝牙脱机的原因和解决图文步骤
&  Win8.1蓝牙脱机原因分析:
  Win8正常连接后,如果没有双击打开进行传输文件,会显示脱机状态,应该是Win8的一个特殊功能,类似节电,通过双击打开进行传输后正常。
  解决方法:目前通过简单测试,正常连接过程
  连接过程会弹出如上图显示,自动添加设备驱动程序,完成添加后,在设备管理器中会显示此设备:
  如正常显示出驱动,说明驱动加载成功了,此时如果没有传输文件,查看此时蓝牙设备会显示为脱机,如下图:
  此时,到控制面板,切换到大图标显示后,选择设备和打印机,双击连接的蓝牙设备或者右击选择服务,如下图所示:
  弹出这个对话框后就可以正常发送文件了,此时再看蓝牙设备会变成正常状态,如下图所示:
  若上述方法无效果,可以尝试删除蓝牙设备,重新连接测试,必要时可以在设备管理器中扫描硬件改动,连接正常后,会在蓝牙下显示连接的蓝牙设备的名称;
  多次测试后,这个方法可以进行尝试,避免直接卸载重新安装驱动,也可以进行系统还原解决。
作者:编辑:admin
猜你喜欢:
最新图文推荐
大家感兴趣的内容
网友热评的文章
网友推荐的文章绿色免费汉化软件之家,用户体验最好的软件下载基地!
当前位置: &
win8.1蓝牙打不开怎么办?win8.1蓝牙设置教程
win8.1蓝牙打不开怎么办?win8.1蓝牙设置教程
  对于刚开始使用Win8.1系统的朋友,一些常用操作变得不再熟悉,很多朋友表示win8.1蓝牙打不开,是因为什么原因呢?是win8.1蓝牙不能用蓝牙吗?接下来就为大家演示win8.1蓝牙设置教程。
  使用win8.1蓝牙的时候,就弹出这个窗口,如下:
  但是蓝牙相关的服务已经开启。
  解决方法:
  桌面上右键点击&计算机&,选&管理&,在&设备管理器&在蓝牙的那个地方鼠标右键然后启用就行了。如果是笔记本的话蓝牙在CMOS设置里面有一个开关,你看看是不是ENABLE状态。
  蓝牙打开方法:
  首先把鼠标拉倒最右下角,然后点设置。
  选择更改电脑设置。
  选择飞行模式,或选择单独关闭Wi-Fi和蓝牙。
  好了,至此,关于win8.1蓝牙怎么开、打不开就介绍到这里,大家明白了吗?
绿茶小编猜你还喜欢:
上一篇文章:
下一篇文章:
网友评论已有0条评论,
热门应用推荐

我要回帖

更多关于 win8.1蓝牙设置 的文章

 

随机推荐