• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
17 package 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  */
25 public 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