• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1BlueZ D-Bus Audio API description
2*********************************
3
4Copyright (C) 2004-2010  Marcel Holtmann <marcel@holtmann.org>
5Copyright (C) 2005-2007  Johan Hedberg <johan.hedberg@nokia.com>
6Copyright (C) 2005-2006  Brad Midgley <bmidgley@xmission.com>
7
8Audio hierarchy
9===============
10
11Service		org.bluez
12Interface	org.bluez.Audio
13Object path	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
14
15This is a generic audio interface that abstracts the different audio profiles.
16
17Methods		void Connect()
18
19			Connect all supported audio profiles on the device.
20
21		void Disconnect()
22
23			Disconnect all audio profiles on the device
24
25		dict GetProperties()
26
27			Returns all properties for the interface. See the
28			properties section for available properties.
29
30Signals		void PropertyChanged(string name, variant value)
31
32			This signal indicates a changed value of the given
33			property.
34
35Properties	string State
36
37			Possible values: "disconnected", "connecting",
38			"connected"
39
40			"disconnected" -> "connecting"
41				Either an incoming or outgoing connection
42				attempt ongoing.
43
44			"connecting" -> "disconnected"
45				Connection attempt failed
46
47			"connecting" -> "connected"
48				Successfully connected
49
50			"connected" -> "disconnected"
51				Disconnected from the remote device
52
53Headset hierarchy
54=================
55
56Service		org.bluez
57Interface	org.bluez.Headset
58Object path	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
59
60Methods		void Connect()
61
62			Connect to the HSP/HFP service on the remote device.
63
64		void Disconnect()
65
66			Disconnect from the HSP/HFP service on the remote
67			device.
68
69		boolean IsConnected() {deprecated}
70
71			Returns TRUE if there is a active connection to the
72			HSP/HFP connection on the remote device.
73
74		void IndicateCall()
75
76			Indicate an incoming call on the headset
77			connected to the stream. Will continue to
78			ring the headset about every 3 seconds.
79
80		void CancelCall()
81
82			Cancel the incoming call indication.
83
84		void Play()
85
86			Open the audio connection to the headset.
87
88		void Stop()
89
90			Close the audio connection.
91
92		boolean IsPlaying() {deprecated}
93
94			Returns true if an audio connection to the headset
95			is active.
96
97		uint16 GetSpeakerGain() {deprecated}
98
99			Returns the current speaker gain if available,
100			otherwise returns the error NotAvailable.
101
102		uint16 GetMicrophoneGain() {deprecated}
103
104			Returns the current microphone gain if available,
105			otherwise returns the error NotAvailable.
106
107		void SetSpeakerGain(uint16 gain) {deprecated}
108
109			Changes the current speaker gain if possible.
110
111		void SetMicrophoneGain(uint16 gain) {deprecated}
112
113			Changes the current speaker gain if possible.
114
115		dict GetProperties()
116
117			Returns all properties for the interface. See the
118			properties section for available properties.
119
120			Possible Errors: org.bluez.Error.InvalidArguments
121
122		void SetProperty(string name, variant value)
123
124			Changes the value of the specified property. Only
125			properties that are listed a read-write are changeable.
126			On success this will emit a PropertyChanged signal.
127
128			Possible Errors: org.bluez.Error.DoesNotExist
129					 org.bluez.Error.InvalidArguments
130
131Signals		void AnswerRequested()
132
133			Sent when the answer button is pressed on the headset
134
135		void Connected() {deprecated}
136
137			Sent when the device has been connected to.
138
139		void Disconnected() {deprecated}
140
141			Sent when the device has been disconnected from.
142
143		void Stopped() {deprecated}
144
145			Sent when the audio connection is closed
146
147		void Playing() {deprecated}
148
149			Sent when the audio connection is opened
150
151		void SpeakerGainChanged(uint16 gain) {deprecated}
152
153			The speaker gain changed.
154
155		void MicrophoneGainChanged(uint16 gain) {deprecated}
156
157			The microphone gain changed.
158
159		PropertyChanged(string name, variant value)
160
161			This signal indicates a changed value of the given
162			property.
163
164properties	string State [readonly]
165
166			Possible values: "disconnected", "connecting",
167			"connected", "playing"
168
169			"disconnected" -> "connecting"
170				Either an incoming or outgoing connection
171				attempt ongoing.
172
173			"connecting" -> "disconnected"
174				Connection attempt failed
175
176			"connecting" -> "connected"
177				Successfully connected
178
179			"connected" -> "playing"
180				SCO audio connection successfully opened
181
182			"playing" -> "connected"
183				SCO audio connection closed
184
185			"connected" -> "disconnected"
186			"playing" -> "disconnected"
187				Disconnected from the remote device
188
189		boolean Connected [readonly]
190
191			Indicates if there is a active connection to the
192			HSP/HFP connection on the remote device.
193
194		boolean Playing  [readonly]
195
196			Indicates if an audio connection to the headset
197			is active.
198
199		uint16 SpeakerGain  [readwrite]
200
201			The speaker gain when available.
202
203		uint16 MicrophoneGain  [readwrite]
204
205			The speaker gain when available.
206
207
208AudioSink hierarchy
209===================
210
211Service		org.bluez
212Interface	org.bluez.AudioSink
213Object path	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
214
215Methods		void Connect()
216
217			Connect and setup a stream to a A2DP sink on the
218			remote device.
219
220		void Disconnect()
221
222			Disconnect from the remote device.
223
224		boolean IsConnected() {deprecated}
225
226			Returns TRUE if a stream is setup to a A2DP sink on
227			the remote device.
228
229		dict GetProperties()
230
231			Returns all properties for the interface. See the
232			properties section for available properties.
233
234			Possible Errors: org.bluez.Error.InvalidArguments
235
236Signals		void Connected() {deprecated}
237
238			Sent when a successful connection has been made to the
239			remote A2DP Sink
240
241		void Disconnected() {deprecated}
242
243			Sent when the device has been disconnected from.
244
245		void Playing() {deprecated}
246
247			Sent when a stream with remote device is started.
248
249		void Stopped() {deprecated}
250
251			Sent when a stream with remote device is suspended.
252
253		PropertyChanged(string name, variant value)
254
255			This signal indicates a changed value of the given
256			property.
257
258properties	string State [readonly]
259
260			Possible values: "disconnected", "connecting",
261			"connected", "playing"
262
263			"disconnected" -> "connecting"
264				Either an incoming or outgoing connection
265				attempt ongoing.
266
267			"connecting" -> "disconnected"
268				Connection attempt failed
269
270			"connecting" -> "connected"
271				Successfully connected
272
273			"connected" -> "playing"
274				Audio stream active
275
276			"playing" -> "connected"
277				Audio stream suspended
278
279			"connected" -> "disconnected"
280			"playing" -> "disconnected"
281				Disconnected from the remote device
282
283		boolean Connected [readonly]
284
285			Indicates if a stream is setup to a A2DP sink on
286			the remote device.
287
288		boolean Playing  [readonly]
289
290			Indicates if a stream is active to a A2DP sink on
291			the remote device.
292
293AudioSource hierarchy
294=====================
295
296Service		org.bluez
297Interface	org.bluez.AudioSource
298Object path	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
299
300Methods		void Connect()
301
302			Connect and setup a stream to a A2DP source on the
303			remote device.
304
305		void Disconnect()
306
307			Disconnect from the remote device.
308
309		dict GetProperties()
310
311			Returns all properties for the interface. See the
312			properties section for available properties.
313
314			Possible Errors: org.bluez.Error.InvalidArguments
315
316Signals		PropertyChanged(string name, variant value)
317
318			This signal indicates a changed value of the given
319			property.
320
321properties	string State [readonly]
322
323			Possible values: "disconnected", "connecting",
324			"connected", "playing"
325
326			"disconnected" -> "connecting"
327				Either an incoming or outgoing connection
328				attempt ongoing.
329
330			"connecting" -> "disconnected"
331				Connection attempt failed
332
333			"connecting" -> "connected"
334				Successfully connected
335
336			"connected" -> "playing"
337				Audio stream active
338
339			"playing" -> "connected"
340				Audio stream suspended
341
342			"connected" -> "disconnected"
343			"playing" -> "disconnected"
344				Disconnected from the remote device
345
346
347HeadsetGateway hierarchy
348========================
349
350Service		org.bluez
351Interface	org.bluez.HeadsetGateway
352Object path	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
353
354This interface is available for remote devices which can function in the Audio
355Gateway role of the HFP profiles.
356
357Methods		void Connect()
358
359			Connect to the AG service on the remote device.
360
361		void Disconnect()
362
363			Disconnect from the AG service on the remote device
364
365		void AnswerCall()
366
367			It has to called only after Ring signal received.
368
369		void TerminateCall()
370
371			Terminate call which is running or reject an incoming
372			call. This has nothing with any 3-way situation incl.
373			RaH. Just plain old PDH.
374
375		void Call(string number)
376
377			Dial a number 'number'. No number processing is done
378			thus if AG would reject to dial it don't blame me :)
379
380		string GetOperatorName()
381
382			Find out the name of the currently selected network
383			operator by AG.
384
385		void SendDTMF(string digits)
386
387			Will send each digit in the 'digits' sequentially. Would
388			send nothing if there is non-dtmf digit.
389
390		string GetSubscriberNumber()
391
392			Get the voicecall subscriber number of AG
393
394		dict GetProperties()
395
396			Returns all properties for the interface. See the
397			properties section for available properties.
398
399Signals		void Ring(string number)
400
401			Someone's calling from 'number'.
402			Caller number is provided as received from AG.
403
404		void CallTerminated()
405
406			Call failed to set up. It means that we tried to call
407			someone or someone tried to call us but call was not
408			accepted.
409
410		void CallStarted()
411
412			Call set up successfully.
413
414		void CallEnded()
415
416			Call was started and now ended. In contrast with
417			CallTerminated where call didn't started
418
419		PropertyChanged(string name, variant value)
420
421			This signal indicates a changed value of the given
422			property.
423
424properties	boolean Connected [readonly]
425
426			Indicates if there is an active connection to the
427			AG service on the remote device.
428
429		uint16 RegistrationStatus [readonly]
430
431			Service availability indicatior of AG, where:
432			0 implies no service. No Home/Roam network available.
433			1 implies presense of service. Home/Roam network
434			available.
435
436		uint16 SignalStrength [readonly]
437
438			Signal strength indicator of AG, the value ranges from
439			0 to 5.
440
441		uint16 RoamingStatus [readonly]
442
443			Roaming status indicator of AG, where:
444			0 means roaming is not active
445			1 means a roaming is active
446
447		uint16 BatteryCharge [readonly]
448
449			Battery Charge indicator of AG, the value ranges from
450			0 to 5.
451
452		uint16 SpeakerGain  [readonly]
453
454			The speaker gain when available.
455
456		uint16 MicrophoneGain  [readonly]
457
458			The speaker gain when available.
459