31 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
|  | package kha.audio2; | ||
|  | 
 | ||
|  | extern class Audio { | ||
|  | 	/** | ||
|  | 	 * The samples per second natively used by the target system. | ||
|  | 	 */ | ||
|  | 	public static var samplesPerSecond: Int; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Requests additional audio data. | ||
|  | 	 * Beware: This is called from a separate audio thread on some targets. | ||
|  | 	 * See kha.audio2.Audio1 for sample code. | ||
|  | 	 */ | ||
|  | 	public static var audioCallback: Int->Buffer->Void; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Similar to kha.audio1.Audio.stream, but only for hardware accelerated audio playback. | ||
|  | 	 * Expect this to return null and provide a pure software alternative. | ||
|  | 	 * @param music The music we want to play. | ||
|  | 	 * @param loop  If we want the music to loop, default = false. | ||
|  | 	 * @return On success returns a valid AudioChannel object. Otherwise returns null. | ||
|  | 	 */ | ||
|  | 	public static function stream(sound: Sound, loop: Bool = false): kha.audio1.AudioChannel; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Used in Kinc based backends to untangle the audio thread from the garbage collector. | ||
|  | 	 * Be very careful please. | ||
|  | 	 */ | ||
|  | 	public static var disableGcInteractions: Bool; | ||
|  | } |