Most visited

Recently visited

Added in API level 21

AudioAttributes

public final class AudioAttributes
extends Object implements Parcelable

java.lang.Object
   ↳ android.media.AudioAttributes


一个类,用于封装描述有关音频流信息的属性集合。

AudioAttributes取代了流类型的概念(请参阅STREAM_MUSICSTREAM_ALARM )以定义音频播放的行为。 通过允许应用程序定义属性,属性允许应用程序指定比在流类型中传达的更多信息:

AudioAttributes例如在 AudioTrack构造函数之一中使用(请参阅 AudioTrack(AudioAttributes, AudioFormat, int, int, int) ),以配置 MediaPlayer (请参阅 setAudioAttributes(AudioAttributes)Notification (请参阅 audioAttributes )。通过其构建器 AudioAttributes.Builder构建 AudioAttributes实例。

Summary

Nested classes

class AudioAttributes.Builder

AudioAttributes对象的生成器类。

Constants

int CONTENT_TYPE_MOVIE

当内容类型是音轨时使用的内容类型值,通常伴随着电影或电视节目。

int CONTENT_TYPE_MUSIC

内容类型为音乐时使用的内容类型值。

int CONTENT_TYPE_SONIFICATION

当内容类型是用于伴随用户操作的声音(例如表示按键点击的哔哔声或声音效果)或事件(例如游戏中接收到的奖励声音的类型)时使用的内容类型值。

int CONTENT_TYPE_SPEECH

内容类型为语音时使用的内容类型值。

int CONTENT_TYPE_UNKNOWN

内容类型值未知时使用的内容类型值,或者不是定义的内容类型值。

int FLAG_AUDIBILITY_ENFORCED

标志定义了系统将确保声音的可听性的行为。

int FLAG_HW_AV_SYNC

请求使用支持硬件A / V同步的输出流的标志。

int FLAG_LOW_LATENCY

创建AudioTrack时请求低延迟路径的标志。

int USAGE_ALARM

用法是警报时使用的使用情况值(例如,

int USAGE_ASSISTANCE_ACCESSIBILITY

用法用于可访问性时使用的使用情况值,如使用屏幕阅读器。

int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE

在驾驶或导航方向使用时使用的使用情况值。

int USAGE_ASSISTANCE_SONIFICATION

使用量超声化时使用的使用值,例如用户界面声音。

int USAGE_GAME

用法用于游戏音频时使用的使用情况值。

int USAGE_MEDIA

使用情况是媒体时使用的使用情况值,如音乐或电影声轨。

int USAGE_NOTIFICATION

使用情况是通知时使用的使用情况值。

int USAGE_NOTIFICATION_COMMUNICATION_DELAYED

当使用情况是通知非直接类型的通信(如电子邮件)时使用的使用情况值。

int USAGE_NOTIFICATION_COMMUNICATION_INSTANT

当使用情况是“即时”通信(如聊天或SMS)的通知时使用的使用情况值。

int USAGE_NOTIFICATION_COMMUNICATION_REQUEST

当使用情况是进入/结束通信的请求时使用的使用情况值,例如VoIP通信或视频会议。

int USAGE_NOTIFICATION_EVENT

当用法吸引用户注意时使用的使用值,如提醒或电量不足警告。

int USAGE_NOTIFICATION_RINGTONE

使用情况为电话铃声时使用的使用情况值。

int USAGE_UNKNOWN

用法未知时使用的使用情况值。

int USAGE_VOICE_COMMUNICATION

用法是语音通信(如电话或VoIP)时使用的使用情况值。

int USAGE_VOICE_COMMUNICATION_SIGNALLING

当使用情况处于呼叫中信令时使用的使用情况值,例如发出“忙碌”嘟嘟声或DTMF铃声。

Inherited constants

From interface android.os.Parcelable

Fields

public static final Creator<AudioAttributes> CREATOR

Public methods

int describeContents()

描述此Parcelable实例的封送表示中包含的特殊对象的种类。

boolean equals(Object o)

指示其他某个对象是否“等于”这一个。

int getContentType()

返回内容类型。

int getFlags()

返回标志。

int getUsage()

返回使用情况。

int hashCode()

返回对象的哈希码值。

String toString()

返回对象的字符串表示形式。

void writeToParcel(Parcel dest, int flags)

将此对象平铺到一个包裹中。

Inherited methods

From class java.lang.Object
From interface android.os.Parcelable

Constants

CONTENT_TYPE_MOVIE

Added in API level 21
int CONTENT_TYPE_MOVIE

当内容类型是音轨时使用的内容类型值,通常伴随着电影或电视节目。

常量值:3(0x00000003)

CONTENT_TYPE_MUSIC

Added in API level 21
int CONTENT_TYPE_MUSIC

内容类型为音乐时使用的内容类型值。

常量值:2(0x00000002)

CONTENT_TYPE_SONIFICATION

Added in API level 21
int CONTENT_TYPE_SONIFICATION

当内容类型是用于伴随用户操作的声音(例如表示按键点击的哔哔声或声音效果)或事件(例如游戏中接收到的奖励声音的类型)时使用的内容类型值。 这些声音大多是合成的或短Foley的声音。

常量值:4(0x00000004)

CONTENT_TYPE_SPEECH

Added in API level 21
int CONTENT_TYPE_SPEECH

内容类型为语音时使用的内容类型值。

常数值:1(0x00000001)

CONTENT_TYPE_UNKNOWN

Added in API level 21
int CONTENT_TYPE_UNKNOWN

内容类型值未知时使用的内容类型值,或者不是定义的内容类型值。

常量值:0(0x00000000)

FLAG_AUDIBILITY_ENFORCED

Added in API level 21
int FLAG_AUDIBILITY_ENFORCED

标志定义了系统将确保声音的可听性的行为。

常数值:1(0x00000001)

FLAG_HW_AV_SYNC

Added in API level 21
int FLAG_HW_AV_SYNC

请求使用支持硬件A / V同步的输出流的标志。

常量值:16(0x00000010)

FLAG_LOW_LATENCY

Added in API level 24
int FLAG_LOW_LATENCY

创建AudioTrack时请求低延迟路径的标志。 使用此标志时,采样率必须与设备的本地采样率相匹配。 效果处理也不可用。 请注意,如果使用此标志而未指定bufferSizeInBytes,则AudioTrack的实际缓冲区大小可能太小。 建议在创建AudioTrack时指定一个相当大的缓冲区。 然后通过致电setBufferSizeInFrames(int)减少实际尺寸。 缓冲区大小可以通过在每次write()调用之后将其降低来优化,直到音频毛刺(通过调用getUnderrunCount()检测到)。 然后缓冲区大小可以增加,直到没有毛刺。 这个调音步骤应该在玩沉默时完成。 这种技术在延迟和毛刺率之间提供了折衷。

常量值:256(0x00000100)

USAGE_ALARM

Added in API level 21
int USAGE_ALARM

使用情况是报警时使用的使用情况值(例如,唤醒警报)。

常量值:4(0x00000004)

USAGE_ASSISTANCE_ACCESSIBILITY

Added in API level 21
int USAGE_ASSISTANCE_ACCESSIBILITY

用法用于可访问性时使用的使用情况值,如使用屏幕阅读器。

常量值:11(0x0000000b)

USAGE_ASSISTANCE_NAVIGATION_GUIDANCE

Added in API level 21
int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE

在驾驶或导航方向使用时使用的使用情况值。

常量值:12(0x0000000c)

USAGE_ASSISTANCE_SONIFICATION

Added in API level 21
int USAGE_ASSISTANCE_SONIFICATION

使用量超声化时使用的使用值,例如用户界面声音。

常量值:13(0x0000000d)

USAGE_GAME

Added in API level 21
int USAGE_GAME

用法用于游戏音频时使用的使用情况值。

常量值:14(0x0000000e)

USAGE_MEDIA

Added in API level 21
int USAGE_MEDIA

使用情况是媒体时使用的使用情况值,如音乐或电影声轨。

常数值:1(0x00000001)

USAGE_NOTIFICATION

Added in API level 21
int USAGE_NOTIFICATION

使用情况是通知时使用的使用情况值。 查看其他通知用途以获得更多专业用途。

常量值:5(0x00000005)

USAGE_NOTIFICATION_COMMUNICATION_DELAYED

Added in API level 21
int USAGE_NOTIFICATION_COMMUNICATION_DELAYED

当使用情况是通知非直接类型的通信(如电子邮件)时使用的使用情况值。

常量值:9(0x00000009)

USAGE_NOTIFICATION_COMMUNICATION_INSTANT

Added in API level 21
int USAGE_NOTIFICATION_COMMUNICATION_INSTANT

当使用情况是“即时”通信(如聊天或SMS)的通知时使用的使用情况值。

常量值:8(0x00000008)

USAGE_NOTIFICATION_COMMUNICATION_REQUEST

Added in API level 21
int USAGE_NOTIFICATION_COMMUNICATION_REQUEST

当使用情况是进入/结束通信的请求时使用的使用情况值,例如VoIP通信或视频会议。

常量值:7(0x00000007)

USAGE_NOTIFICATION_EVENT

Added in API level 21
int USAGE_NOTIFICATION_EVENT

当用法吸引用户注意时使用的使用值,如提醒或电量不足警告。

常量值:10(0x0000000a)

USAGE_NOTIFICATION_RINGTONE

Added in API level 21
int USAGE_NOTIFICATION_RINGTONE

使用情况为电话铃声时使用的使用情况值。

常数值:6(0x00000006)

USAGE_UNKNOWN

Added in API level 21
int USAGE_UNKNOWN

用法未知时使用的使用情况值。

常量值:0(0x00000000)

USAGE_VOICE_COMMUNICATION

Added in API level 21
int USAGE_VOICE_COMMUNICATION

用法是语音通信(如电话或VoIP)时使用的使用情况值。

常量值:2(0x00000002)

USAGE_VOICE_COMMUNICATION_SIGNALLING

Added in API level 21
int USAGE_VOICE_COMMUNICATION_SIGNALLING

当使用情况处于呼叫中信令时使用的使用情况值,例如发出“忙碌”嘟嘟声或DTMF铃声。

常量值:3(0x00000003)

Fields

CREATOR

Added in API level 21
Creator<AudioAttributes> CREATOR

Public methods

describeContents

Added in API level 21
int describeContents ()

描述此Parcelable实例的封送表示中包含的特殊对象的种类。 例如,如果对象将在writeToParcel(Parcel, int)的输出中包含writeToParcel(Parcel, int) ,则此方法的返回值必须包含CONTENTS_FILE_DESCRIPTOR位。

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance.

equals

Added in API level 21
boolean equals (Object o)

指示其他某个对象是否“等于”这一个。

equals方法在非空对象引用上实现等价关系:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

equals方法Object实现了对象上最可能的等价关系; 也就是说,对于任何非空参考值xy ,当且仅当xy指向同一对象( x == y的值为true )时,此方法返回true

请注意,无论何时覆盖此方法,通常都需要覆盖 hashCode方法,以维护 hashCode方法的一般合同,该方法声明等同对象必须具有相同的哈希代码。

Parameters
o Object: the reference object with which to compare.
Returns
boolean true if this object is the same as the obj argument; false otherwise.

getContentType

Added in API level 21
int getContentType ()

返回内容类型。

Returns
int one of the values that can be set in setContentType(int)

getFlags

Added in API level 21
int getFlags ()

返回标志。

Returns
int a combined mask of all flags

getUsage

Added in API level 21
int getUsage ()

返回使用情况。

Returns
int one of the values that can be set in setUsage(int)

hashCode

Added in API level 21
int hashCode ()

返回对象的哈希码值。 为了散列表的好处而支持此方法,例如由HashMap提供的HashMap

hashCode的总合同是:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

尽可能合理实用,类Object定义的hashCode方法确实为不同的对象返回不同的整数。 (这通常通过将对象的内部地址转换为整数来实现,但Java TM编程语言不需要此实现技术。)

Returns
int a hash code value for this object.

toString

Added in API level 21
String toString ()

返回对象的字符串表示形式。 一般来说, toString方法返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。

ObjecttoString方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @ ”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.

writeToParcel

Added in API level 21
void writeToParcel (Parcel dest, 
                int flags)

将此对象平铺到一个包裹中。

Parameters
dest Parcel: The Parcel in which the object should be written.
flags int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.

Hooray!