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
HTML
<!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"><static> </span>getAudioFileSpritesPool<span class="signature">()</span><span class="type-signature"> → {<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"><static> </span>getBandJSObject<span class="signature">()</span><span class="type-signature"> → {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"><static> </span>getJsfxObject<span class="signature">()</span><span class="type-signature"> → {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"><static> </span>getTimbreJSObject<span class="signature">()</span><span class="type-signature"> → {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"><static> </span>getVolume<span class="signature">( [avoidSanitize])</span><span class="type-signature"> → {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;">
<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"><static> </span>mute<span class="signature">( [avoidApplyingVolume] [, onMute] [, audioFiles])</span><span class="type-signature"> → {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 "volume" parmeter, null as the "forceSetVolumeProperty" parameter and true for both "saveForUnmute" and "isMuteOrUnmute" 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;">
<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;">
<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 "functionToExecute" 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;">
<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"><static> </span>sanitizeVolume<span class="signature">( [volume] [, useSpeakerVolumeIfNaN])</span><span class="type-signature"> → {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;">
<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 "useSpeakerVolumeIfNaN" 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;">
<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 "volume" 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 "volume" 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"><static> </span>setAudioFileSpritesPool<span class="signature">(audioFileSpritesPool)</span><span class="type-signature"> → {<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"><static> </span>setVolume<span class="signature">( [volume] [, avoidApplyingVolume] [, forceSetVolumeProperty] [, functionToExecute] [, audioFiles] [, saveForUnmute] [, isMuteOrUnmute])</span><span class="type-signature"> → {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;">
<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 "avoidApplyingVolume" is set to false and the "isMuteOrUnmute" 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;">
<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;">
<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 "avoidApplyingVolume" is set to false and the "isMuteOrUnmute" 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;">
<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 "avoidApplyingVolume" is set to false and the "isMuteOrUnmute" parameter is false, it will be used as the "onSetVolume" 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 "avoidApplyingVolume" is set to false and the "isMuteOrUnmute" parameter is true, it will be used as the "onMute" parameter to call the <a href="CB_AudioFileSpritesPool.html#muteAll"><code>CB_AudioFileSpritesPool#muteAll</code></a> method or as the "onUnmute" 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;">
<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 "avoidApplyingVolume" 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 "avoidApplyingVolume" is set to false and the "isMuteOrUnmute" parameter is false, it will be used as the "audioFiles" 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 "avoidApplyingVolume" is set to false and the "isMuteOrUnmute" parameter is true, it will be used as the "audioFiles" parameter to call the <a href="CB_AudioFileSpritesPool.html#muteAll"><code>CB_AudioFileSpritesPool#muteAll</code></a> method or as the "audioFiles" 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