audio.stopWithDelay()

类型 函数
audio.*
返回值 数字
修订 版本 2024.3703
关键词 音频, 停止, 延迟停止, 延迟停止播放
另请参阅 audio.play()
audio.stop()

概述

在指定的延迟时间后停止当前播放的声音。

此函数返回实际应用的通道数,如果发生错误则返回 `-1`。

注意事项

请注意,`audio.stopWithDelay()` 不接受来自 audio.loadSound()audio.loadStream() 的任何句柄。这是有意设计的,因为您应该停止特定通道,而不是声音句柄。

对于使用 audio.loadStream() 加载的音频,调用停止时音频的位置不会重置。因此,如果您再次在同一句柄上调用 audio.play(),它将大致从停止的位置继续播放(它可能会稍微靠后一些,因为所有预填充的缓冲区在 audio.stop() 时都被丢弃了)。这与使用 audio.loadSound() 加载的音频形成对比,后者将从缓冲区的起始位置开始播放(声音的开头,除非您使用 audio.seek() 修改了它)。因此,对于 audio.loadStream(),如果您重复使用音频句柄,则可能需要在句柄上调用 audio.rewind()

语法

audio.stopWithDelay( duration [, options ] )
duration (必需)

数字. 停止播放之前的延迟时间(以毫秒为单位)。

options (可选)

. 支持单个键 `channel` 的表,该键是要停止的通道。如果没有传递参数,则所有通道都将停止。

示例

local backgroundMusicChannel = audio.play( backgroundMusic, { loops=-1 }  ) 
audio.stopWithDelay( 30000, { channel=backgroundMusicChannel }  )