1## 5.5\. Audio Playback
2
3Android includes the support to allow apps to playback audio through the audio
4output peripheral as defined in section 7.8.2.
5
6### 5.5.1\. Raw Audio Playback
7
8If device implementations declare `android.hardware.audio.output`, they:
9
10*   [C-1-1] MUST allow playback of raw audio content with the following
11characteristics:
12
13     *   **Source formats**: Linear PCM, 16-bit, 8-bit, float
14     *   **Channels**: Mono, Stereo, valid multichannel configurations
15            with up to 8 channels
16     *   **Sampling rates (in Hz)**:
17          * 8000, 11025, 16000, 22050, 32000, 44100, 48000 at the channel
18              configurations listed above
19          * 96000 in mono and stereo
20
21*   SHOULD allow playback of raw audio content with the following
22characteristics:
23
24     *   **Sampling rates**: 24000, 48000
25
26### 5.5.2\. Audio Effects
27
28Android provides an [API for audio effects](
29http://developer.android.com/reference/android/media/audiofx/AudioEffect.html)
30for device implementations.
31
32If device implementations declare the feature `android.hardware.audio.output`,
33they:
34
35*   [C-1-1] MUST support the `EFFECT_TYPE_EQUALIZER` and
36`EFFECT_TYPE_LOUDNESS_ENHANCER` implementations controllable through the
37AudioEffect subclasses `Equalizer` and `LoudnessEnhancer`.
38*   [C-1-2] MUST support the visualizer API implementation, controllable through
39the `Visualizer` class.
40*   [C-1-3] MUST support the `EFFECT_TYPE_DYNAMICS_PROCESSING` implementation
41controllable through the AudioEffect subclass [`DynamicsProcessing`](https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing).
42*   SHOULD support the `EFFECT_TYPE_BASS_BOOST`, `EFFECT_TYPE_ENV_REVERB`,
43`EFFECT_TYPE_PRESET_REVERB`, and `EFFECT_TYPE_VIRTUALIZER` implementations
44controllable through the `AudioEffect` sub-classes `BassBoost`,
45`EnvironmentalReverb`, `PresetReverb`, and `Virtualizer`.
46*  [C-SR] Are STRONGLY RECOMMENDED to support effects in floating-point and
47multichannel.
48
49### 5.5.3\. Audio Output Volume
50
51Automotive device implementations:
52
53*   SHOULD allow adjusting audio volume
54separately per each audio stream using the content type or usage as defined
55by [AudioAttributes]("http://developer.android.com/reference/android/media/AudioAttributes.html")
56and car audio usage as publicly defined in `android.car.CarAudioManager`.
57