1 Bluetooth audio service API description
2 ***************************************
4 Copyright (C) 2004-2007 Marcel Holtmann <marcel@holtmann.org>
5 Copyright (C) 2005-2007 Johan Hedberg <johan.hedberg@nokia.com>
6 Copyright (C) 2005-2006 Brad Midgley <bmidgley@xmission.com>
9 org.bluez.audio.Manager interface
10 =================================
12 This interface is for managing remote audio devices. It provides methods for
13 creating and removing D-Bus objects representing remote audio devices. These
14 objects implement one or more of the other interfaces listed in this document.
16 Object path /org/bluez/audio
19 string CreateDevice(string address) [experimental]
21 Creates a new audio device object. If not yet done,
22 this method will perform a SDP query on the remote
23 device and return first when the query is complete,
24 so be sure to call this method asynchronously.
26 The return parameter is the object path of the newly
29 void RemoveDevice(string path) [experimental]
31 Removes a device from the device tree. If there are
32 any connections open to the device they will be closed.
34 array{string} ListDevices() [experimental]
36 Retuns an array of strings indicating the object paths
39 string DefaultDevice()
41 Returns the object path for the default device.
43 void ChangeDefaultDevice(string path)
45 Changes the default device.
47 array{string} ListHeadsets()
49 Returns list of headset objects that are configured.
51 string FindDeviceByAddress(string address) [experimental]
53 Searches the list of available devices and returns the
54 object path of the first device which matchess address.
55 If no device is found returns a DoesNotExist error.
57 string DefaultHeadset()
59 Returns the object path for the default headset device.
61 void ChangeDefaultHeadset(string path)
63 Changes the default headset.
65 string CreateHeadset(string address)
67 Create a new headset device and returns its object path
70 void RemoveHeadset(string path)
72 Removes a headset object and all information
76 void DeviceCreated(string path) [experimental]
78 Sent when a new device object has been created.
80 void DeviceRemoved(string path) [experimental]
82 Sent when a device object has been removed.
84 void HeadsetCreated(string path)
86 Sent when a new headset object has been created.
88 void HeadsetRemoved(string path)
90 Sent when a headset object has been removed.
92 void DefaultHeadsetChanged(string path)
94 Sent when the default headset has changed.
97 org.bluez.audio.Device interface
98 ================================
100 This interface is implemented by all remote device objects.
102 Object path(s) /org/bluez/audio/device*
104 Methods string GetAddress() [experimental]
106 Returns the Bluetooth address of the remote device.
108 string GetAdapter() [experimental]
110 Returns the address of the local adapter that the
111 device is associated with.
113 string GetName() [experimental]
115 Returns a friendly name for the device.
117 array{string} GetConnectedInterfaces() [experimental]
119 Returns a string list of interfaces that are in a
123 org.bluez.audio.Headset interface
124 =================================
126 This interface provides access to headsets that implement the HSP and/or HFP
129 Object path(s) /org/bluez/audio/device*
131 Methods void Connect()
133 Connect to the HSP/HFP service on the remote device.
137 Disconnect from the HSP/HFP service on the remote
140 boolean IsConnected()
142 Returns TRUE if there is a active connection to the
143 HSP/HFP connection on the remote device.
147 Indicate an incoming call on the headset
148 connected to the stream. Will continue to
149 ring the headset about every 3 seconds.
153 Cancel the incoming call indication.
157 Open the audio connection to the headset.
161 Close the audio connection.
165 Returns true if an audio connection to the headset
168 uint16 GetSpeakerGain()
170 Returns the current speaker gain if available,
171 otherwise returns the error NotAvailable.
173 uint16 GetMicrophoneGain()
175 Returns the current microphone gain if available,
176 otherwise returns the error NotAvailable.
178 void SetSpeakerGain(uint16 gain)
180 Changes the current speaker gain if possible.
182 void SetMicrophoneGain(uint16 gain)
184 Changes the current speaker gain if possible.
186 void SetupCall(string value) [experimental]
188 Sets up an call with the connected HFP. The value can
189 be "incoming", "outgoing" or "remote" to indicate
190 incoming call, outgoing call and remote party alerted
193 void IdentifyCall(string phone_number, int32 type) [experimental]
195 Enables a called subscriber to get the calling
196 line identity (CLI) of the calling party when
197 receiving a call. The value of type shud be
198 the same as provided by the GSM stack.
200 Signals void AnswerRequested()
202 Sent when the answer button is pressed on the headset
206 Sent when the device has been connected to.
210 Sent when the device has been disconnected from.
214 Sent when the audio connection is closed
218 Sent when the audio connection is opened
220 void SpeakerGainChanged(uint16 gain)
222 The speaker gain changed.
224 void MicrophoneGainChanged(uint16 gain)
226 The microphone gain changed.
228 void CallTerminated()
230 Sent when an ongoing call is terminated.
233 org.bluez.audio.Gateway interface
234 =================================
236 [not yet implemented]
238 This interface is available for remote devices which can function in the Audio
239 Gateway role of the HSP and/or HFP profiles.
241 Object path(s) /org/bluez/audio/device*
244 org.bluez.audio.Sink interface
245 ==============================
247 This interface is available for remote devices which contain a A2DP Sink.
249 Object path(s) /org/bluez/audio/device*
251 Methods void Connect()
253 Connect and setup a stream to a A2DP sink on the
258 Disconnect from the remote device.
260 boolean IsConnected()
262 Returns TRUE if a stream is setup to a A2DP sink on
265 Signals void Connected()
267 Sent when a successful connection has been made to the
272 Sent when the device has been disconnected from.
276 Sent when a stream with remote device is started.
280 Sent when a stream with remote device is suspended.
283 org.bluez.audio.Source interface
284 ================================
286 [not yet implemented]
288 This interface is available for remote devices which implement a A2DP source.
290 Object path(s) /org/bluez/audio/device*
293 org.bluez.audio.Control interface
294 =================================
296 This interface is available for remote devices which implement support for a
299 Object path(s) /org/bluez/audio/device*
301 Methods boolean IsConnected()
303 Returns TRUE if AVRCP is connected.
307 Connect to AVRCP on the remote device.
309 NOTE: Most remote devices do not allow AVRCP without
310 A2DP, so this is intended for testing purposes.
314 Disconnect from the remote device.
316 NOTE: Most remote devices do not allow AVRCP without
317 A2DP, so this is intended for testing purposes.
319 Signals void Connected()
321 Sent when a successful AVRCP connection has been made.
325 Sent when the AVRCP connection has been disconnected.