AudioTrack.Play 方法

定义

开始播放 AudioTrack。

[Android.Runtime.Register("play", "()V", "GetPlayHandler")]
public virtual void Play ();
[<Android.Runtime.Register("play", "()V", "GetPlayHandler")>]
abstract member Play : unit -> unit
override this.Play : unit -> unit
属性

例外

如果轨迹未正确初始化,则为

注解

开始播放 AudioTrack。

如果 track 的创建模式为 #MODE_STATIC,则必须在 play () 之前 (#write(byte[], int, int)#write(byte[], int, int, int)#write(short[], int, int)#write(short[], int, int, int)#write(float[], int, int, int)、 或 #write(ByteBuffer, int, int)) 调用其中一个写入方法。

如果模式为 #MODE_STREAM,则可以选择在调用 play () 之前对数据路径进行定基,方法是从构造函数) 写入 bufferSizeInBytes (。 如果不先调用 write () ,或者调用 write () 但数据量不足,则曲目将在播放时处于运行不足状态 () 。 在这种情况下,在数据路径填充到特定于设备的最低级别之前,播放不会实际开始播放。 在调用 stop () 后恢复音频播放时,将路径填充到最低级别时,此要求也成立。 同样,由于无法使用足够数据及时调用 write () ,在跟踪中断后,需要再次填满缓冲区。 为了便于移植,应用程序应将数据路径设置为写入数据所允许的最大值,直到 write () 方法返回较短的传输计数。 这允许 play () 立即启动,并减少运行不足的可能性。

android.os.Build.VERSION_CODES#S在开始播放的最低级别中,可以使用 获取#getStartThresholdInFrames()并使用 进行设置#setStartThresholdInFrames(int)

android.media.AudioTrack.play()Java 文档。

此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。

适用于