AudioFormat.java revision d9ae1c573e37e245c7f4f0480a8fa925e57bd49d
1/* 2 * Copyright (C) 2008 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package android.media; 18 19/** 20 * The AudioFormat class is used to access a number of audio format and 21 * channel configuration constants. They are for instance used 22 * in {@link AudioTrack} and {@link AudioRecord}. 23 * 24 */ 25public class AudioFormat { 26 27 //--------------------------------------------------------- 28 // Constants 29 //-------------------- 30 /** Invalid audio data format */ 31 public static final int ENCODING_INVALID = 0; 32 /** Default audio data format */ 33 public static final int ENCODING_DEFAULT = 1; 34 /** Audio data format: PCM 16 bit per sample. Guaranteed to be supported by devices. */ 35 public static final int ENCODING_PCM_16BIT = 2; // accessed by native code 36 /** Audio data format: PCM 8 bit per sample. Not guaranteed to be supported by devices. */ 37 public static final int ENCODING_PCM_8BIT = 3; // accessed by native code 38 39 /** Invalid audio channel configuration */ 40 /** @deprecated use CHANNEL_INVALID instead */ 41 @Deprecated public static final int CHANNEL_CONFIGURATION_INVALID = 0; 42 /** Default audio channel configuration */ 43 /** @deprecated use CHANNEL_OUT_DEFAULT or CHANNEL_IN_DEFAULT instead */ 44 @Deprecated public static final int CHANNEL_CONFIGURATION_DEFAULT = 1; 45 /** Mono audio configuration */ 46 /** @deprecated use CHANNEL_OUT_MONO or CHANNEL_IN_MONO instead */ 47 @Deprecated public static final int CHANNEL_CONFIGURATION_MONO = 2; 48 /** Stereo (2 channel) audio configuration */ 49 /** @deprecated use CHANNEL_OUT_STEREO or CHANNEL_IN_STEREO instead */ 50 @Deprecated public static final int CHANNEL_CONFIGURATION_STEREO = 3; 51 52 /** Invalid audio channel mask */ 53 public static final int CHANNEL_INVALID = 0; 54 /** Default audio channel mask */ 55 public static final int CHANNEL_OUT_DEFAULT = 1; 56 57 // Channel mask definitions below are translated to the native values defined in 58 // in /system/core/include/system/audio.h in the JNI code of AudioTrack 59 public static final int CHANNEL_OUT_FRONT_LEFT = 0x4; 60 public static final int CHANNEL_OUT_FRONT_RIGHT = 0x8; 61 public static final int CHANNEL_OUT_FRONT_CENTER = 0x10; 62 public static final int CHANNEL_OUT_LOW_FREQUENCY = 0x20; 63 public static final int CHANNEL_OUT_BACK_LEFT = 0x40; 64 public static final int CHANNEL_OUT_BACK_RIGHT = 0x80; 65 public static final int CHANNEL_OUT_FRONT_LEFT_OF_CENTER = 0x100; 66 public static final int CHANNEL_OUT_FRONT_RIGHT_OF_CENTER = 0x200; 67 public static final int CHANNEL_OUT_BACK_CENTER = 0x400; 68 /** @hide */ 69 public static final int CHANNEL_OUT_SIDE_LEFT = 0x800; 70 /** @hide */ 71 public static final int CHANNEL_OUT_SIDE_RIGHT = 0x1000; 72 /** @hide */ 73 public static final int CHANNEL_OUT_TOP_CENTER = 0x2000; 74 /** @hide */ 75 public static final int CHANNEL_OUT_TOP_FRONT_LEFT = 0x4000; 76 /** @hide */ 77 public static final int CHANNEL_OUT_TOP_FRONT_CENTER = 0x8000; 78 /** @hide */ 79 public static final int CHANNEL_OUT_TOP_FRONT_RIGHT = 0x10000; 80 /** @hide */ 81 public static final int CHANNEL_OUT_TOP_BACK_LEFT = 0x20000; 82 /** @hide */ 83 public static final int CHANNEL_OUT_TOP_BACK_CENTER = 0x40000; 84 /** @hide */ 85 public static final int CHANNEL_OUT_TOP_BACK_RIGHT = 0x80000; 86 87 public static final int CHANNEL_OUT_MONO = CHANNEL_OUT_FRONT_LEFT; 88 public static final int CHANNEL_OUT_STEREO = (CHANNEL_OUT_FRONT_LEFT | CHANNEL_OUT_FRONT_RIGHT); 89 public static final int CHANNEL_OUT_QUAD = (CHANNEL_OUT_FRONT_LEFT | CHANNEL_OUT_FRONT_RIGHT | 90 CHANNEL_OUT_BACK_LEFT | CHANNEL_OUT_BACK_RIGHT); 91 public static final int CHANNEL_OUT_SURROUND = (CHANNEL_OUT_FRONT_LEFT | CHANNEL_OUT_FRONT_RIGHT | 92 CHANNEL_OUT_FRONT_CENTER | CHANNEL_OUT_BACK_CENTER); 93 public static final int CHANNEL_OUT_5POINT1 = (CHANNEL_OUT_FRONT_LEFT | CHANNEL_OUT_FRONT_RIGHT | 94 CHANNEL_OUT_FRONT_CENTER | CHANNEL_OUT_LOW_FREQUENCY | CHANNEL_OUT_BACK_LEFT | CHANNEL_OUT_BACK_RIGHT); 95 public static final int CHANNEL_OUT_7POINT1 = (CHANNEL_OUT_FRONT_LEFT | CHANNEL_OUT_FRONT_RIGHT | 96 CHANNEL_OUT_FRONT_CENTER | CHANNEL_OUT_LOW_FREQUENCY | CHANNEL_OUT_BACK_LEFT | CHANNEL_OUT_BACK_RIGHT | 97 CHANNEL_OUT_FRONT_LEFT_OF_CENTER | CHANNEL_OUT_FRONT_RIGHT_OF_CENTER); 98 /** @hide */ 99 public static final int CHANNEL_OUT_7POINT1_SURROUND = ( 100 CHANNEL_OUT_FRONT_LEFT | CHANNEL_OUT_FRONT_CENTER | CHANNEL_OUT_FRONT_RIGHT | 101 CHANNEL_OUT_SIDE_LEFT | CHANNEL_OUT_SIDE_RIGHT | 102 CHANNEL_OUT_BACK_LEFT | CHANNEL_OUT_BACK_RIGHT | 103 CHANNEL_OUT_LOW_FREQUENCY); 104 105 public static final int CHANNEL_IN_DEFAULT = 1; 106 public static final int CHANNEL_IN_LEFT = 0x4; 107 public static final int CHANNEL_IN_RIGHT = 0x8; 108 public static final int CHANNEL_IN_FRONT = 0x10; 109 public static final int CHANNEL_IN_BACK = 0x20; 110 public static final int CHANNEL_IN_LEFT_PROCESSED = 0x40; 111 public static final int CHANNEL_IN_RIGHT_PROCESSED = 0x80; 112 public static final int CHANNEL_IN_FRONT_PROCESSED = 0x100; 113 public static final int CHANNEL_IN_BACK_PROCESSED = 0x200; 114 public static final int CHANNEL_IN_PRESSURE = 0x400; 115 public static final int CHANNEL_IN_X_AXIS = 0x800; 116 public static final int CHANNEL_IN_Y_AXIS = 0x1000; 117 public static final int CHANNEL_IN_Z_AXIS = 0x2000; 118 public static final int CHANNEL_IN_VOICE_UPLINK = 0x4000; 119 public static final int CHANNEL_IN_VOICE_DNLINK = 0x8000; 120 public static final int CHANNEL_IN_MONO = CHANNEL_IN_FRONT; 121 public static final int CHANNEL_IN_STEREO = (CHANNEL_IN_LEFT | CHANNEL_IN_RIGHT); 122 123} 124