gecko/dom/system/gonk/nsIAudioManager.idl
Marco Chen 02daf36312 Bug 791642 - nsIAudioManager: support voice volume. r=philikon
1. Provide api for adjusting volume based on each stream.
  2. Modify settings.js for listening the changing for stream volume.
2012-11-02 17:36:46 +08:00

82 lines
2.3 KiB
Plaintext

/* 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(b76a3de4-79f4-4cbb-a0e2-871095eacb2c)]
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);
/**
* Control the volume of various audio streams
*/
const long STREAM_TYPE_VOICE_CALL = 0;
const long STREAM_TYPE_SYSTEM = 1;
const long STREAM_TYPE_RING = 2;
const long STREAM_TYPE_MUSIC = 3;
const long STREAM_TYPE_ALARM = 4;
const long STREAM_TYPE_NOTIFICATION = 5;
const long STREAM_TYPE_BLUETOOTH_SCO = 6;
const long STREAM_TYPE_ENFORCED_AUDIBLE = 7;
const long STREAM_TYPE_DTMF = 8;
const long STREAM_TYPE_TTS = 9;
const long STREAM_TYPE_FM = 10;
void setStreamVolumeIndex(in long stream, in long index);
long getStreamVolumeIndex(in long stream);
long getMaxStreamVolumeIndex(in long stream);
};