/* 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(d2124467-7209-4b2e-a91a-cf3f90681e3c)] interface nsIAudioManager : nsISupports { /** * Microphone muted? */ attribute boolean microphoneMuted; /** * The master volume. */ attribute float masterVolume; /** * Master volume muted? */ attribute boolean masterMuted; /** * Are we playing audio from the FM radio? */ attribute boolean fmRadioAudioEnabled; /** * 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 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); };