Files
Funkin/source/funkin/external/apple/AudioSession.hx
T

32 lines
1.0 KiB
Haxe

package funkin.external.apple;
#if ((ios || macos) && cpp)
/**
* A utility class to manage the audio session on apple devices.
*/
@:build(funkin.util.macro.LinkerMacro.xml('project/Build.xml'))
@:include('AudioSession.hpp')
@:unreflective
extern class AudioSession
{
/**
* Initializes the audio session for playback.
*
* This function configures the shared AVAudioSession instance with the following settings:
* - Sets the audio session category to Playback, allowing Bluetooth A2DP and mixing with spoken audio interruptions.
* - For iOS 17.0 and above, disables interruption on route disconnect.
* - For iOS 14.5 and above, prefers no interruptions from system alerts.
*/
@:native('Apple_AudioSession_Initialize')
static function initialize():Void;
/**
* Sets the active state of the shared AVAudioSession.
*
* @param active Whether to activate or deactivate the audio session.
*/
@:native('Apple_AudioSession_SetActive')
static function setActive(active:Bool):Void;
}
#end