33 lines
		
	
	
		
			722 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			722 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| package kha.js;
 | |
| 
 | |
| import js.Syntax;
 | |
| import js.html.audio.AudioContext;
 | |
| 
 | |
| @:keep
 | |
| class MobileWebAudio {
 | |
| 	@:noCompletion public static var _context: AudioContext;
 | |
| 
 | |
| 	@:noCompletion public static function _init(): Void {
 | |
| 		try {
 | |
| 			_context = new AudioContext();
 | |
| 			return;
 | |
| 		}
 | |
| 		catch (e:Dynamic) {}
 | |
| 		try {
 | |
| 			Syntax.code("this._context = new webkitAudioContext();");
 | |
| 			return;
 | |
| 		}
 | |
| 		catch (e:Dynamic) {}
 | |
| 	}
 | |
| 
 | |
| 	public static function play(sound: Sound, loop: Bool = false): kha.audio1.AudioChannel {
 | |
| 		var channel = new MobileWebAudioChannel(cast sound, loop);
 | |
| 		channel.play();
 | |
| 		return channel;
 | |
| 	}
 | |
| 
 | |
| 	public static function stream(sound: Sound, loop: Bool = false): kha.audio1.AudioChannel {
 | |
| 		return play(sound, loop);
 | |
| 	}
 | |
| }
 |