---@meta ---@class cc.AudioEngine local AudioEngine={ } cc.AudioEngine=AudioEngine ---* ---@return boolean function AudioEngine:lazyInit () end ---* Sets the current playback position of an audio instance.
---* param audioID An audioID returned by the play2d function.
---* param sec The offset in seconds from the start to seek to.
---* return ---@param audioID int ---@param sec float ---@return boolean function AudioEngine:setCurrentTime (audioID,sec) end ---* Gets the volume value of an audio instance.
---* param audioID An audioID returned by the play2d function.
---* return Volume value (range from 0.0 to 1.0). ---@param audioID int ---@return float function AudioEngine:getVolume (audioID) end ---* Uncache the audio data from internal buffer.
---* AudioEngine cache audio data on ios,mac, and win32 platform.
---* warning This can lead to stop related audio first.
---* param filePath Audio file path. ---@param filePath string ---@return self function AudioEngine:uncache (filePath) end ---* Resume all suspended audio instances. ---@return self function AudioEngine:resumeAll () end ---* Stop all audio instances. ---@return self function AudioEngine:stopAll () end ---* Pause an audio instance.
---* param audioID An audioID returned by the play2d function. ---@param audioID int ---@return self function AudioEngine:pause (audioID) end ---* Gets the maximum number of simultaneous audio instance of AudioEngine. ---@return int function AudioEngine:getMaxAudioInstance () end ---* Check whether AudioEngine is enabled. ---@return boolean function AudioEngine:isEnabled () end ---* Gets the current playback position of an audio instance.
---* param audioID An audioID returned by the play2d function.
---* return The current playback position of an audio instance. ---@param audioID int ---@return float function AudioEngine:getCurrentTime (audioID) end ---* Sets the maximum number of simultaneous audio instance for AudioEngine.
---* param maxInstances The maximum number of simultaneous audio instance. ---@param maxInstances int ---@return boolean function AudioEngine:setMaxAudioInstance (maxInstances) end ---* Checks whether an audio instance is loop.
---* param audioID An audioID returned by the play2d function.
---* return Whether or not an audio instance is loop. ---@param audioID int ---@return boolean function AudioEngine:isLoop (audioID) end ---* Pause all playing audio instances. ---@return self function AudioEngine:pauseAll () end ---* Uncache all audio data from internal buffer.
---* warning All audio will be stopped first. ---@return self function AudioEngine:uncacheAll () end ---* Sets volume for an audio instance.
---* param audioID An audioID returned by the play2d function.
---* param volume Volume value (range from 0.0 to 1.0). ---@param audioID int ---@param volume float ---@return self function AudioEngine:setVolume (audioID,volume) end ---@overload fun(string:string,function:function):self ---@overload fun(string:string):self ---@param filePath string ---@param callback function ---@return self function AudioEngine:preload (filePath,callback) end ---* Whether to enable playing audios
---* note If it's disabled, current playing audios will be stopped and the later 'preload', 'play2d' methods will take no effects. ---@param isEnabled boolean ---@return self function AudioEngine:setEnabled (isEnabled) end ---* Play 2d sound.
---* param filePath The path of an audio file.
---* param loop Whether audio instance loop or not.
---* param volume Volume value (range from 0.0 to 1.0).
---* param profile A profile for audio instance. When profile is not specified, default profile will be used.
---* return An audio ID. It allows you to dynamically change the behavior of an audio instance on the fly.
---* see `AudioProfile` ---@param filePath string ---@param loop boolean ---@param volume float ---@param profile cc.AudioProfile ---@return int function AudioEngine:play2d (filePath,loop,volume,profile) end ---* Returns the state of an audio instance.
---* param audioID An audioID returned by the play2d function.
---* return The status of an audio instance. ---@param audioID int ---@return int function AudioEngine:getState (audioID) end ---* Resume an audio instance.
---* param audioID An audioID returned by the play2d function. ---@param audioID int ---@return self function AudioEngine:resume (audioID) end ---* Stop an audio instance.
---* param audioID An audioID returned by the play2d function. ---@param audioID int ---@return self function AudioEngine:stop (audioID) end ---* Release objects relating to AudioEngine.
---* warning It must be called before the application exit.
---* lua endToLua ---@return self function AudioEngine:endToLua () end ---* Gets the duration of an audio instance.
---* param audioID An audioID returned by the play2d function.
---* return The duration of an audio instance. ---@param audioID int ---@return float function AudioEngine:getDuration (audioID) end ---* Sets whether an audio instance loop or not.
---* param audioID An audioID returned by the play2d function.
---* param loop Whether audio instance loop or not. ---@param audioID int ---@param loop boolean ---@return self function AudioEngine:setLoop (audioID,loop) end ---* Gets the default profile of audio instances.
---* return The default profile of audio instances. ---@return cc.AudioProfile function AudioEngine:getDefaultProfile () end ---@overload fun(int0:string):self ---@overload fun(int:int):self ---@param audioID int ---@return cc.AudioProfile function AudioEngine:getProfile (audioID) end ---* Gets playing audio count. ---@return int function AudioEngine:getPlayingAudioCount () end