类型 函数 库 audio.* 返回的值 数字 修订 2024.3703 版 关键词 audio、stop、声音、音乐 参见 audio.play()
停止在通道上播放false
。
此函数会返回实际停止的通道数,或者在出现错误时返回 -1
。
请注意,audio.stop()
不会从 audio.loadSound() 或 audio.loadStream() 中获取任何句柄。这是设计使然。你要停止特定通道,而不是声音句柄。想象一下,多重爆炸效果在同一时间同时出现。在这种情况下,没有必要对爆炸句柄调用 audio.stop()
,因为每个爆炸结束的时间可能会略有不同。
如果使用 audio.loadStream() 加载的音频,在调用 stop 时音频的位置不会被重置。所以当你再次针对同一路由调用 audio.play() 时,它会从上次暂停的位置继续播放(“约略”的意思是可能略微靠后一点,因为所有预先填充分都被 audio.stop() 弃置了)。这与使用 audio.loadSound() 加载的音频形成对比,后者会从缓冲区的开始位置重新开始播放(声音的开始位置,除非你使用 audio.seek() 对其进行了修改)。所以,对于 audio.loadStream
,当你重新使用音频句柄时,可能需要针对句柄调用 audio.rewind()。
audio.stop( [channel] )
数字。要停止的通道。如果没有传递任何参数,则所有的通道都会被停止。
local backgroundMusicChannel = audio.play( backgroundMusic, { loops=-1 } ) audio.stop( backgroundMusicChannel ) -- NOTE: backgroundMusicChannel is not an audio handle. It is a number representing the channel that is playing.