1 BlueZ D-Bus Audio API description 2 ********************************* 3 4 Copyright (C) 2004-2008 Marcel Holtmann <marcel (a] holtmann.org> 5 Copyright (C) 2005-2007 Johan Hedberg <johan.hedberg (a] nokia.com> 6 Copyright (C) 2005-2006 Brad Midgley <bmidgley (a] xmission.com> 7 8 Audio hierarchy 9 =============== 10 11 Service org.bluez 12 Interface org.bluez.Audio 13 Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX 14 15 This is a generic audio interface that abstracts the different audio profiles. 16 17 Methods 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 30 Signals void PropertyChanged(string name, variant value) 31 32 This signal indicates a changed value of the given 33 property. 34 35 Properties 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 53 Headset hierarchy 54 ================= 55 56 Service org.bluez 57 Interface org.bluez.Headset 58 Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX 59 60 Methods 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 131 Signals 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 164 properties 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 208 AudioSink hierarchy 209 =================== 210 211 Service org.bluez 212 Interface org.bluez.AudioSink 213 Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX 214 215 Methods 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 236 Signals 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 258 properties 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 293 AudioSource hierarchy 294 ===================== 295 296 Service org.bluez 297 Interface org.bluez.AudioSource 298 Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX 299 300 Methods 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 316 Signals PropertyChanged(string name, variant value) 317 318 This signal indicates a changed value of the given 319 property. 320 321 properties 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 347 HeadsetGateway hierarchy 348 ======================== 349 350 Service org.bluez 351 Interface org.bluez.HeadsetGateway 352 Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX 353 354 This interface is available for remote devices which can function in the Audio 355 Gateway role of the HFP profiles. 356 357 Methods 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 399 Signals 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 424 properties 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