Audio Attributes是个非常重要的概念,现在好像是取代了之前对音频流的作用。
之前很多函数都会使用Audio Stream作为一个参数,现在都使用了Audio Attributes来替代,因为Audio Attributes能够描述更多的信息,现在Audio Stream仅仅用来标识音量,比如下面的Audio Track,就废弃了streamType参数,改为了AudioAttributes attributes作为参数。
https://developer.android.google.cn/reference/android/media/AudioAttributes?hl=en
//已经废弃的
AudioTrack
Added in API level 3
public AudioTrack (int streamType,
int sampleRateInHz,
int channelConfig,
int audioFormat,
int bufferSizeInBytes,
int mode)
This constructor is deprecated.
use Builder or AudioTrack(android.media.AudioAttributes, android.media.AudioFormat, int, int, int) to specify the AudioAttributes instead of the stream type which is only for volume control.
//现在可用的
public AudioTrack (AudioAttributes attributes,
AudioFormat format,
int bufferSizeInBytes,
int mode,
int sessionId)
AudioAttributes的源码位置在
/frameworks/base/media/java/android/media/AudioAttributes.java
一、Content
Content包括以下几种,
- Speech
- Music
- Movie
- Sonification(一般是通知音)
- Unknown
Content描述的是:这个音频的内容是什么,是语音/音乐……
69public final class AudioAttributes implements Parcelable {
70 private final static String TAG =