| [ Index ] |
PHP Cross Reference of Drupal 6 (gatewave) |
[Summary view] [Print] [Text view]
1 var AudioPlayer = function () { 2 var instances = []; 3 var activePlayerID; 4 var playerURL = ""; 5 var defaultOptions = {}; 6 var currentVolume = -1; 7 var requiredFlashVersion = "9"; 8 9 function getPlayer(playerID) { 10 if (document.all && !window[playerID]) { 11 for (var i = 0; i < document.forms.length; i++) { 12 if (document.forms[i][playerID]) { 13 return document.forms[i][playerID]; 14 break; 15 } 16 } 17 } 18 return document.all ? window[playerID] : document[playerID]; 19 } 20 21 function addListener (playerID, type, func) { 22 getPlayer(playerID).addListener(type, func); 23 } 24 25 return { 26 setup: function (url, options) { 27 playerURL = url; 28 defaultOptions = options; 29 if (swfobject.hasFlashPlayerVersion(requiredFlashVersion)) { 30 swfobject.switchOffAutoHideShow(); 31 swfobject.createCSS("p.audioplayer_container span", "visibility:hidden;height:24px;overflow:hidden;padding:0;border:none;"); 32 } 33 }, 34 35 getPlayer: function (playerID) { 36 return getPlayer(playerID); 37 }, 38 39 addListener: function (playerID, type, func) { 40 addListener(playerID, type, func); 41 }, 42 43 embed: function (elementID, options) { 44 var instanceOptions = {}; 45 var key; 46 47 var flashParams = {}; 48 var flashVars = {}; 49 var flashAttributes = {}; 50 51 // Merge default options and instance options 52 for (key in defaultOptions) { 53 instanceOptions[key] = defaultOptions[key]; 54 } 55 for (key in options) { 56 instanceOptions[key] = options[key]; 57 } 58 59 if (instanceOptions.transparentpagebg == "yes") { 60 flashParams.bgcolor = "#FFFFFF"; 61 flashParams.wmode = "transparent"; 62 } else { 63 if (instanceOptions.pagebg) { 64 flashParams.bgcolor = "#" + instanceOptions.pagebg; 65 } 66 flashParams.wmode = "opaque"; 67 } 68 69 flashParams.menu = "false"; 70 71 for (key in instanceOptions) { 72 if (key == "pagebg" || key == "width" || key == "transparentpagebg") { 73 continue; 74 } 75 flashVars[key] = instanceOptions[key]; 76 } 77 78 flashAttributes.name = elementID; 79 flashAttributes.style = "outline: none"; 80 81 flashVars.playerID = elementID; 82 83 swfobject.embedSWF(playerURL, elementID, instanceOptions.width.toString(), "24", requiredFlashVersion, false, flashVars, flashParams, flashAttributes); 84 85 instances.push(elementID); 86 }, 87 88 syncVolumes: function (playerID, volume) { 89 currentVolume = volume; 90 for (var i = 0; i < instances.length; i++) { 91 if (instances[i] != playerID) { 92 getPlayer(instances[i]).setVolume(currentVolume); 93 } 94 } 95 }, 96 97 activate: function (playerID, info) { 98 if (activePlayerID && activePlayerID != playerID) { 99 getPlayer(activePlayerID).close(); 100 } 101 102 activePlayerID = playerID; 103 }, 104 105 load: function (playerID, soundFile, titles, artists) { 106 getPlayer(playerID).load(soundFile, titles, artists); 107 }, 108 109 close: function (playerID) { 110 getPlayer(playerID).close(); 111 if (playerID == activePlayerID) { 112 activePlayerID = null; 113 } 114 }, 115 116 open: function (playerID, index) { 117 if (index == undefined) { 118 index = 1; 119 } 120 getPlayer(playerID).open(index == undefined ? 0 : index-1); 121 }, 122 123 getVolume: function (playerID) { 124 return currentVolume; 125 } 126 127 } 128 129 }();
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Thu Mar 24 11:18:33 2011 | Cross-referenced by PHPXref 0.7 |