michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "nsISupports.idl" michael@0: michael@0: [scriptable, builtinclass, uuid(60da41b4-cdc2-11e2-8a91-10bf48d64bd4)] michael@0: interface nsIAudioManager : nsISupports michael@0: { michael@0: /** michael@0: * Microphone muted? michael@0: */ michael@0: attribute boolean microphoneMuted; michael@0: michael@0: /** michael@0: * Are we playing audio from the FM radio? michael@0: */ michael@0: attribute boolean fmRadioAudioEnabled; michael@0: michael@0: /** michael@0: * Set the phone's audio mode. michael@0: */ michael@0: const long PHONE_STATE_INVALID = -2; michael@0: const long PHONE_STATE_CURRENT = -1; michael@0: const long PHONE_STATE_NORMAL = 0; michael@0: const long PHONE_STATE_RINGTONE = 1; michael@0: const long PHONE_STATE_IN_CALL = 2; michael@0: const long PHONE_STATE_IN_COMMUNICATION = 3; michael@0: michael@0: attribute long phoneState; michael@0: michael@0: /** michael@0: * Configure a particular device ("force") to be used for one of the uses michael@0: * (communication, media playback, etc.) michael@0: */ michael@0: const long FORCE_NONE = 0; // the default michael@0: const long FORCE_SPEAKER = 1; michael@0: const long FORCE_HEADPHONES = 2; michael@0: const long FORCE_BT_SCO = 3; michael@0: const long FORCE_BT_A2DP = 4; michael@0: const long FORCE_WIRED_ACCESSORY = 5; michael@0: const long FORCE_BT_CAR_DOCK = 6; michael@0: const long FORCE_BT_DESK_DOCK = 7; michael@0: michael@0: const long USE_COMMUNICATION = 0; michael@0: const long USE_MEDIA = 1; michael@0: const long USE_RECORD = 2; michael@0: const long USE_DOCK = 3; michael@0: michael@0: void setForceForUse(in long usage, in long force); michael@0: long getForceForUse(in long usage); michael@0: michael@0: /* The range of volume index is from 0 to N. Ex: 0 ~ 15 */ michael@0: void setAudioChannelVolume(in long channel, in long index); michael@0: long getAudioChannelVolume(in long channel); michael@0: long getMaxAudioChannelVolume(in long channel); michael@0: };