diff options
Diffstat (limited to 'dom/system/gonk/nsIAudioManager.idl')
-rw-r--r-- | dom/system/gonk/nsIAudioManager.idl | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/dom/system/gonk/nsIAudioManager.idl b/dom/system/gonk/nsIAudioManager.idl new file mode 100644 index 000000000..c2eb62b21 --- /dev/null +++ b/dom/system/gonk/nsIAudioManager.idl @@ -0,0 +1,58 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISupports.idl" + +[scriptable, builtinclass, uuid(df31c280-1ef1-11e5-867f-0800200c9a66)] +interface nsIAudioManager : nsISupports +{ + /** + * Microphone muted? + */ + attribute boolean microphoneMuted; + + /** + * Set the phone's audio mode. + */ + const long PHONE_STATE_INVALID = -2; + const long PHONE_STATE_CURRENT = -1; + const long PHONE_STATE_NORMAL = 0; + const long PHONE_STATE_RINGTONE = 1; + const long PHONE_STATE_IN_CALL = 2; + const long PHONE_STATE_IN_COMMUNICATION = 3; + + attribute long phoneState; + + /** + * Configure a particular device ("force") to be used for one of the uses + * (communication, media playback, etc.) + */ + const long FORCE_NONE = 0; // the default + const long FORCE_SPEAKER = 1; + const long FORCE_HEADPHONES = 2; + const long FORCE_BT_SCO = 3; + const long FORCE_BT_A2DP = 4; + const long FORCE_WIRED_ACCESSORY = 5; + const long FORCE_BT_CAR_DOCK = 6; + const long FORCE_BT_DESK_DOCK = 7; + const long FORCE_ANALOG_DOCK = 8; + const long FORCE_DIGITAL_DOCK = 9; + const long FORCE_NO_BT_A2DP = 10; + const long USE_COMMUNICATION = 0; + const long USE_MEDIA = 1; + const long USE_RECORD = 2; + const long USE_DOCK = 3; + + void setForceForUse(in long usage, in long force); + long getForceForUse(in long usage); + + /** + * These functions would be used when we enable the new volume control API + * (mozAudioChannelManager). The range of volume index is from 0 to N. + * More details on : https://gist.github.com/evanxd/41d8e2d91c5201a42bfa + */ + void setAudioChannelVolume(in unsigned long channel, in unsigned long index); + unsigned long getAudioChannelVolume(in unsigned long channel); + unsigned long getMaxAudioChannelVolume(in unsigned long channel); +}; |