/WavPlayer

Flash player for telephony files (.wav, .au, .gsm, .alaw, .ulaw, .la, .lu, .sln) - Mirror of http://git.datacompboy.ru/?p=WavPlayer.git;a=summary

Primary LanguageHaxeGNU General Public License v3.0GPL-3.0

WavPlayer -- flash player for asterisk

	WavPlayer is flash player, designed to play files, recorded for and 
	by Asterisk (www.asterisk.org) or any other telephone system.

	If supports playback of:
	Format | Codecs
	=====================================================================
	.au		G711u, G711a, PCM format, any samplerate/channels
	.wav	G711u, G711a, PCM, GSM 6.10 (MS) formats, any samplerate/channels
	 .wav49	just alias of .wav, can content any of wav codecs
	.gsm	raw GSM 6.10
	.sln 	raw PCM 16bit-signed 8kHz
	 .raw	alias of .sln
	.alaw	raw G711a 8kHz mono
	 .al	alias of .alaw
	.ulaw	raw G711u 8kHz mono
	 .ul	alias of .ulaw
	 .mu	alias of .ulaw
	 .pcm	alias of .ulaw
	.la		raw G711a 8kHz mono in inverted bit order
	.lu		raw G711u 8kHz mono in inverted bit order
	=====================================================================

Flash interface:
	You can select one of two interfaces:
	1: (minimal) Just one button. 
			To select it, pass gui=mini in agruments, or nothing
		shape of circle = buffering, click to stop
		shape of square = playing, click to pause playback
		shape of triangle = stopped, click to play last file
		shape of two bars = paused. click to continue play
	2: (wide) Control button as above plus position bar for scrolling
			To select it, pass gui=full in arguments
		short ticks are 10 second, long ticks are minutes.
		pass arguments: h=height of player, w=width of player.
			field of control button are square of h*h, rest space used for
			position bar.
	3: (none) no interface at all. transparent dot displayed.
			To select it, pass gui=none in arguments

JS interface:
	doPlay([filename][, buffer])
		start playback of given filename. if filename not given -- play last
		buffer argument says minimum buffer length needed to start playback
	doStop()
		stop playback of current file
	doPause()
		pauses playback of current file
	doResume()
		resume playback of current file after pause. will throw error if not started
	doSeek(pos)
		seeks playback to position (in seconds)
	attachHandler(Event, Handler[, User]) -> handlerId
		when Event occurs, Handler will be called, with optionally User info as first argument
	detachHandler(Event, Handler[, User])
		detach all Event handlers, identified by Event/Handler/User triplet
	removeHandler(HandlerId)
		detach event handler, identified by handlerId, returent by previous call to attachHandler

JS events:
		!!! WARNING !!! 
		Do not do any time-consuming operations in callbacks -- 
			It can cause hangs from browser to whole system.
		To change any DOM elements / innerHTML / ask user --
			fire function in separate thread with setTimeout()
		!!! ACHTUNG !!!

	*(eventName[, User][, Arguments])
		fired on any events. first argument then eventName, next is user-supplied argument, rest is event arguments
	PLAYER_BUFFERING([position])
		fired when player starts buffering of sound.
		optionally, passed current file position (if known)
	PLAYER_LOAD(soundAvailable, soundTotal)
		fired when player loads sound stream.
		soundAvailable = sound length in seconds available to play right now
		soundTotal = total sound length in file, if known
	PLAYER_PLAYING([position])
		fired when player starts playing sound
		start of playback position passed, if position known
	PLAYER_STOPPED([position])
		fired when player stops playing sound
		stopped position passed, if known
	PLAYER_PAUSED([position])
		fired when player paused playing sound
		current pause position passed, if known
	progress(bytesLoaded, bytesTotal)
		fired when player loaded next chunk from file.

See usage example in debug.html and index.html