UNPKG

crossbrowdy

Version:

A Multimedia JavaScript framework to create real cross-platform and hybrid game engines, games, emulators, multimedia libraries and apps.

1,747 lines (605 loc) 67.7 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>CrossBrowdy API documentation [printable] Namespace: CB_Speaker</title> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/sunlight.default.css"> <link type="text/css" rel="stylesheet" href="styles/site.yeti.css"> </head> <body style="min-width:800px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <div class="navbar navbar-default navbar-fixed-top "> <div class="container"> <div class="navbar-header"> <a class="navbar-brand" href="index.html">CrossBrowdy API documentation [printable]</a> <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#topNavigation"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <div class="navbar-collapse collapse" id="topNavigation"> <ul class="nav navbar-nav"> <li class="dropdown"> <a href="namespaces.list.html" class="dropdown-toggle" data-toggle="dropdown">Namespaces<b class="caret"></b></a> <ul class="dropdown-menu inline"> <li><a href="CB_Arrays.html">CB_Arrays</a></li><li><a href="CB_AudioDetector.html">CB_AudioDetector</a></li><li><a href="CB_Client.html">CB_Client</a></li><li><a href="CB_Collisions.html">CB_Collisions</a></li><li><a href="CB_Configuration.html">CB_Configuration</a></li><li><a href="CB_Configuration.CrossBase.html">CB_Configuration.CrossBase</a></li><li><a href="CB_Configuration.CrossBrowdy.html">CB_Configuration.CrossBrowdy</a></li><li><a href="CB_Controllers.html">CB_Controllers</a></li><li><a href="CB_Controllers_Proprietary.html">CB_Controllers_Proprietary</a></li><li><a href="CB_Controllers_Proprietary.WII.html">CB_Controllers_Proprietary.WII</a></li><li><a href="CB_Controllers_Proprietary.WII_U.html">CB_Controllers_Proprietary.WII_U</a></li><li><a href="CB_Device.html">CB_Device</a></li><li><a href="CB_Device.AmbientLight.html">CB_Device.AmbientLight</a></li><li><a href="CB_Device.Battery.html">CB_Device.Battery</a></li><li><a href="CB_Device.Location.html">CB_Device.Location</a></li><li><a href="CB_Device.Motion.html">CB_Device.Motion</a></li><li><a href="CB_Device.Orientation.html">CB_Device.Orientation</a></li><li><a href="CB_Device.Proximity.html">CB_Device.Proximity</a></li><li><a href="CB_Device.Vibration.html">CB_Device.Vibration</a></li><li><a href="CB_Elements.html">CB_Elements</a></li><li><a href="CB_Events.html">CB_Events</a></li><li><a href="CB_Keyboard.html">CB_Keyboard</a></li><li><a href="CB_Keyboard.chars.html">CB_Keyboard.chars</a></li><li><a href="CB_Keyboard.extended.html">CB_Keyboard.extended</a></li><li><a href="CB_Keyboard.keys.html">CB_Keyboard.keys</a></li><li><a href="CB_Modules.html">CB_Modules</a></li><li><a href="CB_Mouse.html">CB_Mouse</a></li><li><a href="CB_Mouse.CursorImage.html">CB_Mouse.CursorImage</a></li><li><a href="CB_Net.html">CB_Net</a></li><li><a href="CB_Net.Fetch.html">CB_Net.Fetch</a></li><li><a href="CB_Net.REST.html">CB_Net.REST</a></li><li><a href="CB_Net.Sockets.html">CB_Net.Sockets</a></li><li><a href="CB_Net.Sockets.SockJS.html">CB_Net.Sockets.SockJS</a></li><li><a href="CB_Net.XHR.html">CB_Net.XHR</a></li><li><a href="CB_Pointer.html">CB_Pointer</a></li><li><a href="CB_Screen.html">CB_Screen</a></li><li><a href="CB_Speaker.html">CB_Speaker</a></li><li><a href="CB_Touch.html">CB_Touch</a></li><li><a href="CB_baseSymbols.html">CB_baseSymbols</a></li> </ul> </li> <li class="dropdown"> <a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b class="caret"></b></a> <ul class="dropdown-menu inline"> <li><a href="CB_AudioFile.html">CB_AudioFile</a></li><li><a href="CB_AudioFileCache.html">CB_AudioFileCache</a></li><li><a href="CB_AudioFileSprites.html">CB_AudioFileSprites</a></li><li><a href="CB_AudioFileSpritesPool.html">CB_AudioFileSpritesPool</a></li><li><a href="CB_AudioFile_API.AAPI.html">CB_AudioFile_API.AAPI</a></li><li><a href="CB_AudioFile_API.ACMP.html">CB_AudioFile_API.ACMP</a></li><li><a href="CB_AudioFile_API.SM2.html">CB_AudioFile_API.SM2</a></li><li><a href="CB_AudioFile_API.WAAPI.html">CB_AudioFile_API.WAAPI</a></li><li><a href="CB_Canvas.html">CB_Canvas</a></li><li><a href="CB_GraphicSprites.html">CB_GraphicSprites</a></li><li><a href="CB_GraphicSpritesScene.html">CB_GraphicSpritesScene</a></li> </ul> </li> <li class="dropdown"> <a href="global.html" class="dropdown-toggle" data-toggle="dropdown">Global<b class="caret"></b></a> <ul class="dropdown-menu inline"> <li><a href="global.html#CB_BASE_NAME">CB_BASE_NAME</a></li><li><a href="global.html#CB_CREDITS_DEFAULT">CB_CREDITS_DEFAULT</a></li><li><a href="global.html#CB_NAME">CB_NAME</a></li><li><a href="global.html#CB_OPTIONS">CB_OPTIONS</a></li><li><a href="global.html#CB_VERSION">CB_VERSION</a></li><li><a href="global.html#CB_addCredits">CB_addCredits</a></li><li><a href="global.html#CB_baseToBase">CB_baseToBase</a></li><li><a href="global.html#CB_baseToInt">CB_baseToInt</a></li><li><a href="global.html#CB_br2nl">CB_br2nl</a></li><li><a href="global.html#CB_brToNl">CB_brToNl</a></li><li><a href="global.html#CB_combineArraysOrObjects">CB_combineArraysOrObjects</a></li><li><a href="global.html#CB_combineAutomatically">CB_combineAutomatically</a></li><li><a href="global.html#CB_combineJSON">CB_combineJSON</a></li><li><a href="global.html#CB_combineURIParameters">CB_combineURIParameters</a></li><li><a href="global.html#CB_combineURLParameters">CB_combineURLParameters</a></li><li><a href="global.html#CB_console">CB_console</a></li><li><a href="global.html#CB_copyObject">CB_copyObject</a></li><li><a href="global.html#CB_countDecimalDigits">CB_countDecimalDigits</a></li><li><a href="global.html#CB_countDecimalPart">CB_countDecimalPart</a></li><li><a href="global.html#CB_countDecimals">CB_countDecimals</a></li><li><a href="global.html#CB_countIntegerDigits">CB_countIntegerDigits</a></li><li><a href="global.html#CB_countIntegerPart">CB_countIntegerPart</a></li><li><a href="global.html#CB_credits">CB_credits</a></li><li><a href="global.html#CB_forEach">CB_forEach</a></li><li><a href="global.html#CB_forceString">CB_forceString</a></li><li><a href="global.html#CB_getBase64StringObject">CB_getBase64StringObject</a></li><li><a href="global.html#CB_getCookie">CB_getCookie</a></li><li><a href="global.html#CB_getDatum">CB_getDatum</a></li><li><a href="global.html#CB_getJSONPropertyValue">CB_getJSONPropertyValue</a></li><li><a href="global.html#CB_getLZStringObject">CB_getLZStringObject</a></li><li><a href="global.html#CB_getValueIndex">CB_getValueIndex</a></li><li><a href="global.html#CB_getValuePath">CB_getValuePath</a></li><li><a href="global.html#CB_includeJSFile">CB_includeJSFile</a></li><li><a href="global.html#CB_indexOf">CB_indexOf</a></li><li><a href="global.html#CB_init">CB_init</a></li><li><a href="global.html#CB_intToBase">CB_intToBase</a></li><li><a href="global.html#CB_isArray">CB_isArray</a></li><li><a href="global.html#CB_isEmail">CB_isEmail</a></li><li><a href="global.html#CB_isFileLocal">CB_isFileLocal</a></li><li><a href="global.html#CB_isString">CB_isString</a></li><li><a href="global.html#CB_lastIndexOf">CB_lastIndexOf</a></li><li><a href="global.html#CB_ltrim">CB_ltrim</a></li><li><a href="global.html#CB_nl2br">CB_nl2br</a></li><li><a href="global.html#CB_nlToBr">CB_nlToBr</a></li><li><a href="global.html#CB_numberFormat">CB_numberFormat</a></li><li><a href="global.html#CB_numberOfDecimalDigits">CB_numberOfDecimalDigits</a></li><li><a href="global.html#CB_numberOfDecimals">CB_numberOfDecimals</a></li><li><a href="global.html#CB_numberOfIntegerDigits">CB_numberOfIntegerDigits</a></li><li><a href="global.html#CB_parseJSON">CB_parseJSON</a></li><li><a href="global.html#CB_parseString">CB_parseString</a></li><li><a href="global.html#CB_regularExpressionString">CB_regularExpressionString</a></li><li><a href="global.html#CB_renderString">CB_renderString</a></li><li><a href="global.html#CB_replaceAll">CB_replaceAll</a></li><li><a href="global.html#CB_rtrim">CB_rtrim</a></li><li><a href="global.html#CB_scriptPath">CB_scriptPath</a></li><li><a href="global.html#CB_scriptPathCalculate">CB_scriptPathCalculate</a></li><li><a href="global.html#CB_setCookie">CB_setCookie</a></li><li><a href="global.html#CB_setDatum">CB_setDatum</a></li><li><a href="global.html#CB_sizeOf">CB_sizeOf</a></li><li><a href="global.html#CB_sizeof">CB_sizeof</a></li><li><a href="global.html#CB_stringifyJSON">CB_stringifyJSON</a></li><li><a href="global.html#CB_symmetricCall">CB_symmetricCall</a></li><li><a href="global.html#CB_symmetricCallClear">CB_symmetricCallClear</a></li><li><a href="global.html#CB_this">CB_this</a></li><li><a href="global.html#CB_trim">CB_trim</a></li> </ul> </li> </ul> <div class="col-sm-3 col-md-3"> <form class="navbar-form" role="search"> <div class="input-group"> <input type="text" class="form-control" placeholder="Search" name="q" id="search-input"> <div class="input-group-btn"> <button class="btn btn-default" id="search-submit"><i class="glyphicon glyphicon-search"></i></button> </div> </div> </form> </div> </div> </div> </div> <div class="container" id="toc-content" style="width:100%;"> <div class="row" style="width:100%;"> <div class="col-md-8" style="width:85%;"> <div id="main"> <h1 class="page-title">Namespace: CB_Speaker</h1> <section> <header> <h2> CB_Speaker </h2> </header> <article> <div class="container-overview"> <div class="description"><p>Static class to manage the speaker or speakers. It will return itself if it is tried to be instantiated. It can also use <a href="https://mohayonao.github.io/timbre.js/">timbre.js</a>, <a href="https://github.com/meenie/band.js/">Band.js</a> and <a href="https://github.com/loov/jsfx">jsfx</a>.</p></div> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html">CrossBase/audiovisual/audio/CB_Speaker.js</a>, <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html#sunlight-1-line-14">line 14</a> </li> </ul> </dd> <dt class="tag-todo method-doc-label method-doc-details-label">To Do:</dt> <dd class="tag-todo"> <ul> <li>Check whether the path used to play silent sounds as a workaround (through the internal "_playBlankFilesSilently" method) is right or not (now it uses the <a href="global.html#CB_scriptPath"><code>CB_scriptPath</code></a> variable).</li> <li>getCopy and filterProperties methods (similar to the ones from <a href="CB_GraphicSprites.html"><code>CB_GraphicSprites</code></a> and <a href="CB_GraphicSpritesScene.html"><code>CB_GraphicSpritesScene</code></a>).</li> </ul> </dd> </dl> </div> <h3 class="subsection-title">Methods</h3> <dl> <hr> <dt> <h4 class="name" id=".getAudioFileSpritesPool"><span class="type-signature">&lt;static> </span>getAudioFileSpritesPool<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="CB_AudioFileSpritesPool.html">CB_AudioFileSpritesPool</a>|null}</span></h4> </dt> <dd> <div class="description"> <p>Returns the current <a href="CB_AudioFileSpritesPool.html"><code>CB_AudioFileSpritesPool</code></a> object (if any).</p> </div> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html">CrossBase/audiovisual/audio/CB_Speaker.js</a>, <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html#sunlight-1-line-349">line 349</a> </li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns the current <a href="CB_AudioFileSpritesPool.html"><code>CB_AudioFileSpritesPool</code></a> object (if any) or null otherwise.</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type"><a href="CB_AudioFileSpritesPool.html">CB_AudioFileSpritesPool</a></span> | <span class="param-type">null</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".getBandJSObject"><span class="type-signature">&lt;static> </span>getBandJSObject<span class="signature">()</span><span class="type-signature"> &rarr; {Object|null}</span></h4> </dt> <dd> <div class="description"> <p>Returns a new <a href="https://github.com/meenie/band.js/">Band.js</a> object (if possible). Useful for managing music composition.</p> </div> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html">CrossBase/audiovisual/audio/CB_Speaker.js</a>, <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html#sunlight-1-line-373">line 373</a> </li> </ul> </dd> <dt class="tag-todo method-doc-label method-doc-details-label">To Do:</dt> <dd class="tag-todo"> <ul> <li>Band.js should have into account the CB_Speaker._volume</li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns a new <a href="https://github.com/meenie/band.js/">Band.js</a> object (if possible) or null otherwise.</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Object</span> | <span class="param-type">null</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".getJsfxObject"><span class="type-signature">&lt;static> </span>getJsfxObject<span class="signature">()</span><span class="type-signature"> &rarr; {Object|null}</span></h4> </dt> <dd> <div class="description"> <p>Returns the <a href="https://github.com/loov/jsfx">jsfx</a> object (if any). Useful for managing sound effects generation.</p> </div> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html">CrossBase/audiovisual/audio/CB_Speaker.js</a>, <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html#sunlight-1-line-385">line 385</a> </li> </ul> </dd> <dt class="tag-todo method-doc-label method-doc-details-label">To Do:</dt> <dd class="tag-todo"> <ul> <li>jsfx should have into account the CB_Speaker._volume</li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns the current <a href="https://github.com/loov/jsfx">jsfx</a> object (if any) or null otherwise.</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Object</span> | <span class="param-type">null</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".getTimbreJSObject"><span class="type-signature">&lt;static> </span>getTimbreJSObject<span class="signature">()</span><span class="type-signature"> &rarr; {Object|null}</span></h4> </dt> <dd> <div class="description"> <p>Returns the <a href="https://mohayonao.github.io/timbre.js/">timbre.js</a> object (if any). Useful for functional processing and synthesizing audio.</p> </div> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html">CrossBase/audiovisual/audio/CB_Speaker.js</a>, <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html#sunlight-1-line-361">line 361</a> </li> </ul> </dd> <dt class="tag-todo method-doc-label method-doc-details-label">To Do:</dt> <dd class="tag-todo"> <ul> <li>timbre.js should have into account the CB_Speaker._volume</li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns the current <a href="https://mohayonao.github.io/timbre.js/">timbre.js</a> object (if any) or null otherwise.</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Object</span> | <span class="param-type">null</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".getVolume"><span class="type-signature">&lt;static> </span>getVolume<span class="signature">( [avoidSanitize])</span><span class="type-signature"> &rarr; {number}</span></h4> </dt> <dd> <div class="description"> <p>Tells the current volume.</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th style="width:12%; min-width:110px;">Name</th> <th style="width:12%; min-width:110px;">Type</th> <th style="width:12%; min-width:110px;">Argument</th> <th style="width:12%; min-width:110px;">Default</th> <th class="last" style="min-width:310px;">Description</th> </tr> </thead> <tbody> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>avoidSanitize</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">boolean</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> false </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>If set to true, it will not call the <a href="CB_Speaker.html#.sanitizeVolume"><code>CB_Speaker.sanitizeVolume</code></a> function internally before returning the volume.</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html">CrossBase/audiovisual/audio/CB_Speaker.js</a>, <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html#sunlight-1-line-320">line 320</a> </li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns the current volume.</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">number</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".mute"><span class="type-signature">&lt;static> </span>mute<span class="signature">( [avoidApplyingVolume] [, onMute] [, audioFiles])</span><span class="type-signature"> &rarr; {number}</span></h4> </dt> <dd> <div class="description"> <p>Mutes the speaker. Calls the <a href="CB_Speaker.html#.setVolume"><code>CB_Speaker.setVolume</code></a> function internally, with 0 (zero) as the &quot;volume&quot; parmeter, null as the &quot;forceSetVolumeProperty&quot; parameter and true for both &quot;saveForUnmute&quot; and &quot;isMuteOrUnmute&quot; parameters.</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th style="width:12%; min-width:110px;">Name</th> <th style="width:12%; min-width:110px;">Type</th> <th style="width:12%; min-width:110px;">Argument</th> <th style="width:12%; min-width:110px;">Default</th> <th class="last" style="min-width:310px;">Description</th> </tr> </thead> <tbody> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>avoidApplyingVolume</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">boolean</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> false </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>Used as a parameter to call the <a href="CB_Speaker.html#.setVolume"><code>CB_Speaker.setVolume</code></a> function internally.</p></td> </tr> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>onMute</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">function</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>Used as as the &quot;functionToExecute&quot; parameter to call the <a href="CB_Speaker.html#.setVolume"><code>CB_Speaker.setVolume</code></a> function internally.</p></td> </tr> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>audioFiles</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">array</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>Used as a parameter to call the <a href="CB_Speaker.html#.setVolume"><code>CB_Speaker.setVolume</code></a> function internally.</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html">CrossBase/audiovisual/audio/CB_Speaker.js</a>, <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html#sunlight-1-line-288">line 288</a> </li> </ul> </dd> <dt class="tag-todo method-doc-label method-doc-details-label">To Do:</dt> <dd class="tag-todo"> <ul> <li>Also affect BandJS, jsfx and timbre.js.</li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns the result of the internal call to the <a href="CB_Speaker.html#.setVolume"><code>CB_Speaker.setVolume</code></a> function.</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">number</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".sanitizeVolume"><span class="type-signature">&lt;static> </span>sanitizeVolume<span class="signature">( [volume] [, useSpeakerVolumeIfNaN])</span><span class="type-signature"> &rarr; {number}</span></h4> </dt> <dd> <div class="description"> <p>Sanitizes the volume (it does not allow values greater than 100 or lower than 0).</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th style="width:12%; min-width:110px;">Name</th> <th style="width:12%; min-width:110px;">Type</th> <th style="width:12%; min-width:110px;">Argument</th> <th style="width:12%; min-width:110px;">Default</th> <th class="last" style="min-width:310px;">Description</th> </tr> </thead> <tbody> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>volume</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">number</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> CB_Configuration.CrossBase.CB_Speaker_DEFAULT_VOLUME|CB_Speaker._volume </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>The desired volume to be sanitized. If not given, it will use the current volume if the &quot;useSpeakerVolumeIfNaN&quot; parameter is set to true or the default volume otherwise.</p></td> </tr> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>useSpeakerVolumeIfNaN</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">boolean</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> false </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>If it is set to true and no valid volume is received in the &quot;volume&quot; parameter, it will use the current volume (<code>CB_Speaker._volume</code>). Otherwise, if it is set to false and no valid volume is received in the &quot;volume&quot; parameter, it will use the default volume which is set in the <a href="CB_Configuration.CrossBase.html#.CB_Speaker_DEFAULT_VOLUME"><code>CB_Configuration.CrossBase.CB_Speaker_DEFAULT_VOLUME</code></a> constant.</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html">CrossBase/audiovisual/audio/CB_Speaker.js</a>, <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html#sunlight-1-line-243">line 243</a> </li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns the volume sanitized (it does not allow values greater than 100 or lower than 0).</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">number</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".setAudioFileSpritesPool"><span class="type-signature">&lt;static> </span>setAudioFileSpritesPool<span class="signature">(audioFileSpritesPool)</span><span class="type-signature"> &rarr; {<a href="CB_AudioFileSpritesPool.html">CB_AudioFileSpritesPool</a>|null}</span></h4> </dt> <dd> <div class="description"> <p>Sets the desired <a href="CB_AudioFileSpritesPool.html"><code>CB_AudioFileSpritesPool</code></a> object.</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th style="width:12%; min-width:110px;">Name</th> <th style="width:12%; min-width:110px;">Type</th> <th class="last" style="min-width:310px;">Description</th> </tr> </thead> <tbody> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>audioFileSpritesPool</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type"><a href="CB_AudioFileSpritesPool.html">CB_AudioFileSpritesPool</a></span> </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>The desired <a href="CB_AudioFileSpritesPool.html"><code>CB_AudioFileSpritesPool</code></a> object to manage all audio files.</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html">CrossBase/audiovisual/audio/CB_Speaker.js</a>, <a href="CrossBase_audiovisual_audio_CB_Speaker.js.html#sunlight-1-line-333">line 333</a> </li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns the current <a href="CB_AudioFileSpritesPool.html"><code>CB_AudioFileSpritesPool</code></a> object after setting it (if any) or null otherwise.</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type"><a href="CB_AudioFileSpritesPool.html">CB_AudioFileSpritesPool</a></span> | <span class="param-type">null</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".setVolume"><span class="type-signature">&lt;static> </span>setVolume<span class="signature">( [volume] [, avoidApplyingVolume] [, forceSetVolumeProperty] [, functionToExecute] [, audioFiles] [, saveForUnmute] [, isMuteOrUnmute])</span><span class="type-signature"> &rarr; {number}</span></h4> </dt> <dd> <div class="description"> <p>Sets the given volume.</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th style="width:12%; min-width:110px;">Name</th> <th style="width:12%; min-width:110px;">Type</th> <th style="width:12%; min-width:110px;">Argument</th> <th style="width:12%; min-width:110px;">Default</th> <th class="last" style="min-width:310px;">Description</th> </tr> </thead> <tbody> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>volume</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">number</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> CB_Speaker._volume </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>The desired volume to be used (it will be sanitized internally by calling the <a href="CB_Speaker.html#.sanitizeVolume"><code>CB_Speaker.sanitizeVolume</code></a> function with the volume as the unique parameter). If not given, it will use the current volume. If the &quot;avoidApplyingVolume&quot; is set to false and the &quot;isMuteOrUnmute&quot; parameter is false, it will also be used as a parameter to call the <a href="CB_AudioFileSpritesPool.html#setVolumeAll"><code>CB_AudioFileSpritesPool#setVolumeAll</code></a> method of the internal <a href="CB_AudioFileSpritesPool.html"><code>CB_AudioFileSpritesPool</code></a> object defined in <code>CB_Speaker._audioFileSpritesPool</code> (if any).</p></td> </tr> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>avoidApplyingVolume</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">boolean</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> false </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>If it is set to true, the volume will not be applied (by calling the <code>CB_Speaker._applyVolume</code> internal function, which will also use the internal <a href="CB_AudioFileSpritesPool.html"><code>CB_AudioFileSpritesPool</code></a> object defined in <code>CB_Speaker._audioFileSpritesPool</code>, if any) and just the <code>CB_Speaker._volume</code> internal property will be set.</p></td> </tr> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>forceSetVolumeProperty</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">boolean</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> false </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>If the &quot;avoidApplyingVolume&quot; is set to false and the &quot;isMuteOrUnmute&quot; parameter is false, it will be used as a parameter to call the <a href="CB_AudioFileSpritesPool.html#setVolumeAll"><code>CB_AudioFileSpritesPool#setVolumeAll</code></a> method of the internal <a href="CB_AudioFileSpritesPool.html"><code>CB_AudioFileSpritesPool</code></a> object defined in <code>CB_Speaker._audioFileSpritesPool</code> (if any).</p></td> </tr> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>functionToExecute</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">function</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>A callback function. If the &quot;avoidApplyingVolume&quot; is set to false and the &quot;isMuteOrUnmute&quot; parameter is false, it will be used as the &quot;onSetVolume&quot; parameter to call the <a href="CB_AudioFileSpritesPool.html#setVolumeAll"><code>CB_AudioFileSpritesPool#setVolumeAll</code></a> method of the internal <a href="CB_AudioFileSpritesPool.html"><code>CB_AudioFileSpritesPool</code></a> object defined in <code>CB_Speaker._audioFileSpritesPool</code> (if any). If the &quot;avoidApplyingVolume&quot; is set to false and the &quot;isMuteOrUnmute&quot; parameter is true, it will be used as the &quot;onMute&quot; parameter to call the <a href="CB_AudioFileSpritesPool.html#muteAll"><code>CB_AudioFileSpritesPool#muteAll</code></a> method or as the &quot;onUnmute&quot; parameter to call the <a href="CB_AudioFileSpritesPool.html#unmuteAll"><code>CB_AudioFileSpritesPool#unmuteAll</code></a> method of the internal <a href="CB_AudioFileSpritesPool.html"><code>CB_AudioFileSpritesPool</code></a> object defined in <code>CB_Speaker._audioFileSpritesPool</code> (if any).</p></td> </tr> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>audioFiles</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">array</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>An array containing the CB_AudioFile objects that we want to affect (if not set and the &quot;avoidApplyingVolume&quot; is set to false, it will affect all the CB_AudioFile objects of the internal <a href="CB_AudioFileSpritesPool.html"><code>CB_AudioFileSpritesPool</code></a> object defined in <code>CB_Speaker._audioFileSpritesPool</code>, if any). If the &quot;avoidApplyingVolume&quot; is set to false and the &quot;isMuteOrUnmute&quot; parameter is false, it will be used as the &quot;audioFiles&quot; parameter to call the <a href="CB_AudioFileSpritesPool.html#setVolumeAll"><code>CB_AudioFileSpritesPool#setVolumeAll</code></a> method of the internal <a href="CB_AudioFileSpritesPool.html"><code>CB_AudioFileSpritesPool</code></a> object defined in <code>CB_Speaker._audioFileSpritesPool</code> (if any). If the &quot;avoidApplyingVolume&quot; is set to false and the &quot;isMuteOrUnmute&quot; parameter is true, it will be used as the &quot;audioFiles&quot; parameter to call the <a href="CB_AudioFileSpritesPool.html#muteAll"><code>CB_AudioFileSpritesPool#muteAll</code></a> method or as the &quot;audioFiles&quot; parameter to call the <a href="CB_AudioFileSpritesPool.html#unmuteAll"><code>CB_AudioFileSpritesPool#unmuteAll</code></a> method of the internal <a href="CB_AudioFileSpritesPool.html"><code>CB_AudioFileSpritesPool</code></a> object defined in <code>CB_Speaker._audioFileSpritesPool</code> (if any).</p></td> </tr> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>saveForUnmute</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wr