michael@0: /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 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: michael@0: // AudioChannels are used by: michael@0: // * HTMLMediaElement michael@0: // * AudioContext (WebAudio) michael@0: // When used, it has to throw an exception if the app tries to change the audio michael@0: // channel type without the permission (manifest file for B2G apps). michael@0: // The supported values are: michael@0: // * normal (default value) michael@0: // Automatically paused if "notification" or higher priority channel michael@0: // is played michael@0: // Use case: normal applications michael@0: // * content michael@0: // Automatically paused if "notification" or higher priority channel michael@0: // is played. Also paused if another app starts using "content" michael@0: // channel. Using this channel never affects applications using michael@0: // the "normal" channel. michael@0: // Use case: video/audio players michael@0: // * notification michael@0: // Automatically paused if "alarm" or higher priority channel is played. michael@0: // Use case: New email, incoming SMS michael@0: // * alarm michael@0: // Automatically paused if "telephony" or higher priority channel is michael@0: // played. michael@0: // User case: Alarm clock, calendar alarms michael@0: // * telephony michael@0: // Automatically paused if "ringer" or higher priority michael@0: // channel is played. michael@0: // Use case: dialer, voip michael@0: // * ringer michael@0: // Automatically paused if "publicnotification" or higher priority michael@0: // channel is played. michael@0: // Use case: dialer, voip michael@0: // * publicnotification michael@0: // Always plays in speaker, even when headphones are plugged in. michael@0: // Use case: Camera shutter sound. michael@0: enum AudioChannel { michael@0: "normal", michael@0: "content", michael@0: "notification", michael@0: "alarm", michael@0: "telephony", michael@0: "ringer", michael@0: "publicnotification", michael@0: };