mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-11-04 05:12:30 +00:00 
			
		
		
		
	git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@117 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// script.aculo.us sound.js v1.8.0, Tue Nov 06 15:01:40 +0300 2007
 | 
						|
 | 
						|
// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
 | 
						|
//
 | 
						|
// Based on code created by Jules Gravinese (http://www.webveteran.com/)
 | 
						|
//
 | 
						|
// script.aculo.us is freely distributable under the terms of an MIT-style license.
 | 
						|
// For details, see the script.aculo.us web site: http://script.aculo.us/
 | 
						|
 | 
						|
Sound = {
 | 
						|
  tracks: {},
 | 
						|
  _enabled: true,
 | 
						|
  template:
 | 
						|
    new Template('<embed style="height:0" id="sound_#{track}_#{id}" src="#{url}" loop="false" autostart="true" hidden="true"/>'),
 | 
						|
  enable: function(){
 | 
						|
    Sound._enabled = true;
 | 
						|
  },
 | 
						|
  disable: function(){
 | 
						|
    Sound._enabled = false;
 | 
						|
  },
 | 
						|
  play: function(url){
 | 
						|
    if(!Sound._enabled) return;
 | 
						|
    var options = Object.extend({
 | 
						|
      track: 'global', url: url, replace: false
 | 
						|
    }, arguments[1] || {});
 | 
						|
    
 | 
						|
    if(options.replace && this.tracks[options.track]) {
 | 
						|
      $R(0, this.tracks[options.track].id).each(function(id){
 | 
						|
        var sound = $('sound_'+options.track+'_'+id);
 | 
						|
        sound.Stop && sound.Stop();
 | 
						|
        sound.remove();
 | 
						|
      })
 | 
						|
      this.tracks[options.track] = null;
 | 
						|
    }
 | 
						|
      
 | 
						|
    if(!this.tracks[options.track])
 | 
						|
      this.tracks[options.track] = { id: 0 }
 | 
						|
    else
 | 
						|
      this.tracks[options.track].id++;
 | 
						|
      
 | 
						|
    options.id = this.tracks[options.track].id;
 | 
						|
    $$('body')[0].insert( 
 | 
						|
      Prototype.Browser.IE ? new Element('bgsound',{
 | 
						|
        id: 'sound_'+options.track+'_'+options.id,
 | 
						|
        src: options.url, loop: 1, autostart: true
 | 
						|
      }) : Sound.template.evaluate(options));
 | 
						|
  }
 | 
						|
};
 | 
						|
 | 
						|
if(Prototype.Browser.Gecko && navigator.userAgent.indexOf("Win") > 0){
 | 
						|
  if(navigator.plugins && $A(navigator.plugins).detect(function(p){ return p.name.indexOf('QuickTime') != -1 }))
 | 
						|
    Sound.template = new Template('<object id="sound_#{track}_#{id}" width="0" height="0" type="audio/mpeg" data="#{url}"/>')
 | 
						|
  else
 | 
						|
    Sound.play = function(){}
 | 
						|
}
 |