建立到蓝牙耳机的连接
2010-09-26 13:34
369 查看
我们仍然使用BlueZ来建立连接。
BlueZ给我们提供了方便的DBus调用接口,使得我们可以方便地使用Python来进行调用。
对象的获取流程如下:(可以使用D-Feet来进行查看)
1、bus -> manager -> adapter -> device
2、得到device对象后,可以获取 AudioSink/Audio/Headset/Control等对象
3、对AudioSink/Audio/Headset /Control等对象进行操作
=== 一段Python脚本例子 ===
mac = 'XX:XX:XX:XX:XX:XX'
import dbus
bus = dbus.SystemBus()
### bus -> manager -> adapter -> device ###
manager = dbus.Interface(bus.get_object('org.bluez', '/'), 'org.bluez.Manager')
adapters = manager.ListAdapters()
print adapters
if (len(adapters) < 1):
print "Please insert an adapter, and Run Me again."
sys.exit(1)
adapter = dbus.Interface(bus.get_object("org.bluez", manager.DefaultAdapter()),
"org.bluez.Adapter")
print adapter
try:
device = adapter.FindDevice(mac)
print "FindDevice: %s" % device
except:
device = adapter.CreateDevice(mac)
print "CreateDevice: %s" % device
device.SetProperty("Trusted", dbus.Boolean(1))
### AudioSink ###
audiosink = dbus.Interface(bus.get_object('org.bluez', device), 'org.bluez.AudioSink')
try:
audiosink.Connect()
print "Connect to AudioSink OK"
except:
if ( audiosink.IsConnected() ):
print "Connect to AudioSink Already"
else:
print "Connect to AudioSink Failed"
pass
BlueZ给我们提供了方便的DBus调用接口,使得我们可以方便地使用Python来进行调用。
对象的获取流程如下:(可以使用D-Feet来进行查看)
1、bus -> manager -> adapter -> device
2、得到device对象后,可以获取 AudioSink/Audio/Headset/Control等对象
3、对AudioSink/Audio/Headset /Control等对象进行操作
=== 一段Python脚本例子 ===
mac = 'XX:XX:XX:XX:XX:XX'
import dbus
bus = dbus.SystemBus()
### bus -> manager -> adapter -> device ###
manager = dbus.Interface(bus.get_object('org.bluez', '/'), 'org.bluez.Manager')
adapters = manager.ListAdapters()
print adapters
if (len(adapters) < 1):
print "Please insert an adapter, and Run Me again."
sys.exit(1)
adapter = dbus.Interface(bus.get_object("org.bluez", manager.DefaultAdapter()),
"org.bluez.Adapter")
print adapter
try:
device = adapter.FindDevice(mac)
print "FindDevice: %s" % device
except:
device = adapter.CreateDevice(mac)
print "CreateDevice: %s" % device
device.SetProperty("Trusted", dbus.Boolean(1))
### AudioSink ###
audiosink = dbus.Interface(bus.get_object('org.bluez', device), 'org.bluez.AudioSink')
try:
audiosink.Connect()
print "Connect to AudioSink OK"
except:
if ( audiosink.IsConnected() ):
print "Connect to AudioSink Already"
else:
print "Connect to AudioSink Failed"
pass
相关文章推荐
- Android与蓝牙耳机建立连接的分析
- Android跟蓝牙耳机建立连接有两种方式
- Android跟蓝牙耳机建立连接有两种方式
- 建立通话,如何连接蓝牙耳机SCO
- Android与蓝牙耳机建立连接的分析
- android 建立蓝牙共享网络后,数据连接图标被打开
- 蓝牙连接的建立过程
- 连接蓝牙耳机过程
- Android实现主动连接蓝牙耳机
- Android 蓝牙( Bluetooth)耳机连接分析及实现
- 低功耗蓝牙BLE之连接建立
- 转载_蓝牙连接的建立过程
- 华为荣耀8连接不上蓝牙耳机怎么办
- 蓝牙主机从机建立连接绑定过程
- 用NFC建立蓝牙连接聊天软件
- 蓝牙的配对和连接的建立过程
- Android 蓝牙( Bluetooth)耳机连接分析及实现
- android 判断有线耳机、蓝牙耳机连接
- 蓝牙连接建立
- 如何用蓝牙耳机连接xp输出音频