类型 函数 库 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 ] )
数字. 停止播放之前的延迟时间(以毫秒为单位)。
表. 支持单个键 `channel` 的表,该键是要停止的通道。如果没有传递参数,则所有通道都将停止。
local backgroundMusicChannel = audio.play( backgroundMusic, { loops=-1 } ) audio.stopWithDelay( 30000, { channel=backgroundMusicChannel } )