AudioFormat.java revision 3026a023b8979b7ddcb3fe97bbc45531c89fda92
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.media; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The AudioFormat class is used to access a number of audio format and 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * channel configuration constants. They are for instance used 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * in __link AudioTrack} and __link AudioRecord}. 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class AudioFormat { 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project //--------------------------------------------------------- 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Constants 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project //-------------------- 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Invalid audio data format */ 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int ENCODING_INVALID = 0; 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Default audio data format */ 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int ENCODING_DEFAULT = 1; 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Audio data format: PCM 16 bit per sample */ 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int ENCODING_PCM_16BIT = 2; // accessed by native code 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Audio data format: PCM 8 bit per sample */ 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int ENCODING_PCM_8BIT = 3; // accessed by native code 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Invalid audio channel configuration */ 40a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent /** @deprecated use CHANNEL_INVALID instead */ 41a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent @Deprecated public static final int CHANNEL_CONFIGURATION_INVALID = 0; 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Default audio channel configuration */ 43a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent /** @deprecated use CHANNEL_OUT_DEFAULT or CHANNEL_IN_DEFAULT instead */ 44a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent @Deprecated public static final int CHANNEL_CONFIGURATION_DEFAULT = 1; 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Mono audio configuration */ 46a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent /** @deprecated use CHANNEL_OUT_MONO or CHANNEL_IN_MONO instead */ 47a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent @Deprecated public static final int CHANNEL_CONFIGURATION_MONO = 2; 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** Stereo (2 channel) audio configuration */ 49a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent /** @deprecated use CHANNEL_OUT_STEREO or CHANNEL_IN_STEREO instead */ 50a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent @Deprecated public static final int CHANNEL_CONFIGURATION_STEREO = 3; 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 52a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent /** Invalid audio channel mask */ 533026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_INVALID = 0; 54a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent /** Default audio channel mask */ 553026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_OUT_DEFAULT = 1; 563026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent 57a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent // Channel mask definitions must be kept in sync with native values in include/media/AudioSystem.h 583026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_OUT_FRONT_LEFT = 0x4; 593026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_OUT_FRONT_RIGHT = 0x8; 603026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_OUT_FRONT_CENTER = 0x10; 613026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_OUT_LOW_FREQUENCY = 0x20; 623026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_OUT_BACK_LEFT = 0x40; 633026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_OUT_BACK_RIGHT = 0x80; 643026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_OUT_FRONT_LEFT_OF_CENTER = 0x100; 653026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_OUT_FRONT_RIGHT_OF_CENTER = 0x200; 663026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_OUT_BACK_CENTER = 0x400; 67a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent public static final int CHANNEL_OUT_MONO = CHANNEL_OUT_FRONT_LEFT; 68a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent public static final int CHANNEL_OUT_STEREO = (CHANNEL_OUT_FRONT_LEFT | CHANNEL_OUT_FRONT_RIGHT); 69a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent public static final int CHANNEL_OUT_QUAD = (CHANNEL_OUT_FRONT_LEFT | CHANNEL_OUT_FRONT_RIGHT | 70a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent CHANNEL_OUT_BACK_LEFT | CHANNEL_OUT_BACK_RIGHT); 71a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent public static final int CHANNEL_OUT_SURROUND = (CHANNEL_OUT_FRONT_LEFT | CHANNEL_OUT_FRONT_RIGHT | 72a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent CHANNEL_OUT_FRONT_CENTER | CHANNEL_OUT_BACK_CENTER); 73a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent public static final int CHANNEL_OUT_5POINT1 = (CHANNEL_OUT_FRONT_LEFT | CHANNEL_OUT_FRONT_RIGHT | 74a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent CHANNEL_OUT_FRONT_CENTER | CHANNEL_OUT_LOW_FREQUENCY | CHANNEL_OUT_BACK_LEFT | CHANNEL_OUT_BACK_RIGHT); 75a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent public static final int CHANNEL_OUT_7POINT1 = (CHANNEL_OUT_FRONT_LEFT | CHANNEL_OUT_FRONT_RIGHT | 76a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent CHANNEL_OUT_FRONT_CENTER | CHANNEL_OUT_LOW_FREQUENCY | CHANNEL_OUT_BACK_LEFT | CHANNEL_OUT_BACK_RIGHT | 77a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent CHANNEL_OUT_FRONT_LEFT_OF_CENTER | CHANNEL_OUT_FRONT_RIGHT_OF_CENTER); 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 793026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_IN_DEFAULT = 1; 803026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_IN_LEFT = 0x4; 813026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_IN_RIGHT = 0x8; 823026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_IN_FRONT = 0x10; 833026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_IN_BACK = 0x20; 843026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_IN_LEFT_PROCESSED = 0x40; 853026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_IN_RIGHT_PROCESSED = 0x80; 863026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_IN_FRONT_PROCESSED = 0x100; 873026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_IN_BACK_PROCESSED = 0x200; 883026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_IN_PRESSURE = 0x400; 893026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_IN_X_AXIS = 0x800; 903026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_IN_Y_AXIS = 0x1000; 913026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_IN_Z_AXIS = 0x2000; 923026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_IN_VOICE_UPLINK = 0x4000; 933026a023b8979b7ddcb3fe97bbc45531c89fda92Eric Laurent public static final int CHANNEL_IN_VOICE_DNLINK = 0x8000; 94a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent public static final int CHANNEL_IN_MONO = CHANNEL_IN_FRONT; 95a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent public static final int CHANNEL_IN_STEREO = (CHANNEL_IN_LEFT | CHANNEL_IN_RIGHT); 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 97a553c25b33c99b345cf1c8688f8df0ed8df14e5aEric Laurent} 98