ro-table/Assets/Resources/Script/Com/Audio/AudioController.txt
2025-06-04 05:12:01 +08:00

55 lines
1.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

AudioController = class('AudioController')
--interval毫秒
function AudioController:ctor(audioObj,interval,finishCallback)
self.source = audioObj:GetComponent(AudioSource)
self.interval = interval
if self.interval == nil then
self.interval = 1000
end
self.callback = finishCallback
end
function AudioController:SetFinishCallback(finishCallback)
self.callback = finishCallback
end
function AudioController:Play(audioClip)
if self.source.clip ~= nil then
GameObject.Destroy(self.source.clip)
end
self.source.clip = audioClip
self.source:Play()
if self.timeTick == nil then
self.timeTick = TimeTickManager.Me():CreateTick(0,self.interval,self.IsFinish,self)
end
end
function AudioController:Pause()
self.source:Pause()
end
function AudioController:Stop()
self.source:Stop()
TimeTickManager.Me():ClearTick(self)
self.timeTick = nil
end
function AudioController:IsFinish()
if not self.source.isPlaying then
if self.callback ~= nil then
self.callback()
end
if self.source.clip ~= nil then
GameObject.Destroy(self.source.clip)
end
end
end
function AudioController:IsPlaying()
return self.source.isPlaying
end