UNPKG

crossbrowdy

Version:

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

1,978 lines (714 loc) 168 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>CrossBrowdy API documentation [printable] Class: CB_AudioFile_API.ACMP</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">Class: CB_AudioFile_API.ACMP</h1> <section> <header> <h2> CB_AudioFile_API.ACMP </h2> <div class="class-description"><p>Class to manage an audio file using &quot;ACMP&quot; (<a href="https://github.com/apache/cordova-plugin-media">Apache Cordova Media Plugin</a>). Used by the <a href="CB_AudioFile.html"><code>CB_AudioFile</code></a> class internally and it shares most of its properties and methods. Recommended for internal usage only.</p></div> </header> <article> <div class="container-overview"> <hr> <dt> <h4 class="name" id="CB_AudioFile_API.ACMP"><span class="type-signature"></span>new CB_AudioFile_API.ACMP<span class="signature">(filePath [, audioId] [, options] [, callbackOk] [, callbackError])</span><span class="type-signature"> &rarr; {<a href="CB_AudioFile_API.ACMP.html">CB_AudioFile_API.ACMP</a>}</span></h4> </dt> <dd> <div class="description"> <p>The constructor is recommended to be called through a user-driven event (as onClick, onTouch, etc.) if the &quot;autoPlay&quot; option is set to true, as some web clients may need this at least the first time in order to be able to play the audio.</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>filePath</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">string</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;"> </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>The path of the audio file or a data URI. NOTE: Only some clients with some audio APIs will support data URIs.</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>audioId</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">string</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_AUDIOFILE_ACMP_' + CB_AudioFile_API.ACMP._idUnique++ </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>Desired identifier for the audio object. If not provided, an automatic unique ID will be calculated. Note that it is not case sensitive and it should be unique for each object.</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>options</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_AudioFile_API.ACMP.html#.OPTIONS">CB_AudioFile_API.ACMP.OPTIONS</a></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_AudioFile_API.ACMP#DEFAULT_OPTIONS </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>Object with the desired options.</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>callbackOk</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>Function with no parameters to be called when the audio has been loaded successfully, being &quot;this&quot; the <a href="CB_AudioFile_API.ACMP.html"><code>CB_AudioFile_API.ACMP</code></a> object itself.</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>callbackError</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>Function to be called if the audio has not been loaded successfully. The first and unique parameter will be a string describing the error found (if could be determined), being &quot;this&quot; the <a href="CB_AudioFile_API.ACMP.html"><code>CB_AudioFile_API.ACMP</code></a> object itself.</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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-10">line 10</a> </li> </ul> </dd> <dt class="tag-todo method-doc-label method-doc-details-label">To Do:</dt> <dd class="tag-todo"> <ul> <li>Do not allow to create one object with an "id" which has already been used (unless the value is undefined, null...). Note that the "id" is not case sensitive and it should be unique for each object.</li> <li>Method getCopy and static method filterProperties (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> <h5>Returns:</h5> <div class="param-desc"> <p>Returns a new <a href="CB_AudioFile_API.ACMP.html"><code>CB_AudioFile_API.ACMP</code></a> object.</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type"><a href="CB_AudioFile_API.ACMP.html">CB_AudioFile_API.ACMP</a></span> </dd> </dl> </dd> </div> <h3 class="subsection-title">Members</h3> <dl> <hr> <dt class="name" id="DEFAULT_OPTIONS"> <h4 id="DEFAULT_OPTIONS"><span class="type-signature">&lt;constant> </span>DEFAULT_OPTIONS<span class="type-signature"> :<a href="CB_AudioFile_API.ACMP.html#.OPTIONS">CB_AudioFile_API.ACMP.OPTIONS</a></span></h4> </dt> <dd> <div class="description"> <p>Keeps the default options when an object is created. Format: { autoLoad: boolean, autoPlay: boolean, loop: boolean, volume: number }.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type"><a href="CB_AudioFile_API.ACMP.html#.OPTIONS">CB_AudioFile_API.ACMP.OPTIONS</a></span> </li> </ul> <dl class="details"> <dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt> <dd class="tag-default"> <ul class="dummy"> <li>{ autoLoad: true, autoPlay: false, loop: false, volume: <a href="CB_AudioFile_API.ACMP.html#DEFAULT_VOLUME"><code>CB_AudioFile_API.ACMP.prototype.DEFAULT_VOLUME</code></a> }</li> </ul> </dd> <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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-38">line 38</a> </li> </ul> </dd> </dl> </dd> <hr> <dt class="name" id="DEFAULT_VOLUME"> <h4 id="DEFAULT_VOLUME"><span class="type-signature">&lt;constant> </span>DEFAULT_VOLUME<span class="type-signature"> :number</span></h4> </dt> <dd> <div class="description"> <p>Keeps the default volume. If the <a href="CB_Configuration.CrossBase.html#.CB_AudioFile_AudioFileCache_USE_SPEAKER_VOLUME_AS_DEFAULT"><code>CB_Configuration.CrossBase.CB_AudioFile_AudioFileCache_USE_SPEAKER_VOLUME_AS_DEFAULT</code></a> property is true, this will keep the result of calling the <a href="CB_Speaker.html#.getVolume"><code>CB_Speaker.getVolume</code></a> function. Otherwise, it will use the value of the <a href="CB_Configuration.CrossBase.html#.CB_Speaker_DEFAULT_VOLUME"><code>CB_Configuration.CrossBase.CB_Speaker_DEFAULT_VOLUME</code></a> variable.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">number</span> </li> </ul> <dl class="details"> <dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt> <dd class="tag-default"> <ul class="dummy"> <li>CB_Configuration.CrossBase.CB_AudioFile_AudioFileCache_USE_SPEAKER_VOLUME_AS_DEFAULT ? CB_Speaker.getVolume() : CB_Configuration.CrossBase.CB_Speaker_DEFAULT_VOLUME</li> </ul> </dd> <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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-30">line 30</a> </li> </ul> </dd> </dl> </dd> <hr> <dt class="name" id="filePath"> <h4 id="filePath"><span class="type-signature">&lt;readonly> </span>filePath<span class="type-signature"> :string</span></h4> </dt> <dd> <div class="description"> <p>Stores the path of the audio file or the data URI. NOTE: Only some clients with some audio APIs will support data URIs.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">string</span> </li> </ul> <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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-92">line 92</a> </li> </ul> </dd> </dl> </dd> <hr> <dt class="name" id="id"> <h4 id="id"><span class="type-signature">&lt;readonly> </span>id<span class="type-signature"> :string</span></h4> </dt> <dd> <div class="description"> <p>Stores the identifier for the audio file.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">string</span> </li> </ul> <dl class="details"> <dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt> <dd class="tag-default"> <ul class="dummy"> <li>'CB_AUDIOFILE_ACMP_' + CB_AudioFile_API.ACMP._idUnique++</li> </ul> </dd> <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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-83">line 83</a> </li> </ul> </dd> </dl> </dd> <hr> <dt class="name" id="lastStartAt"> <h4 id="lastStartAt"><span class="type-signature">&lt;readonly> </span>lastStartAt<span class="type-signature"> :number</span></h4> </dt> <dd> <div class="description"> <p>Stores the last &quot;startAt&quot; parameter value used by the <a href="CB_AudioFile_API.ACMP.html#play"><code>CB_AudioFile_API.ACMP#play</code></a> or the <a href="CB_AudioFile_API.ACMP.html#resume"><code>CB_AudioFile_API.ACMP#resume</code></a> method.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">number</span> </li> </ul> <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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-137">line 137</a> </li> </ul> </dd> </dl> </dd> <hr> <dt class="name" id="lastStopAt"> <h4 id="lastStopAt"><span class="type-signature">&lt;readonly> </span>lastStopAt<span class="type-signature"> :number</span></h4> </dt> <dd> <div class="description"> <p>Stores the last &quot;stopAt&quot; parameter value used by the <a href="CB_AudioFile_API.ACMP.html#play"><code>CB_AudioFile_API.ACMP#play</code></a> or the <a href="CB_AudioFile_API.ACMP.html#resume"><code>CB_AudioFile_API.ACMP#resume</code></a> method.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">number</span> </li> </ul> <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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-146">line 146</a> </li> </ul> </dd> </dl> </dd> <hr> <dt class="name" id="loop"> <h4 id="loop"><span class="type-signature">&lt;readonly> </span>loop<span class="type-signature"> :boolean</span></h4> </dt> <dd> <div class="description"> <p>Defines whether the file loops by default when the audio is played or not. Its value will be modified automatically whenever the <a href="CB_AudioFile_API.ACMP.html#play"><code>CB_AudioFile_API.ACMP#play</code></a> method is called, getting the value from the &quot;loop&quot; parameter (but only if contains a boolean).</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">boolean</span> </li> </ul> <dl class="details"> <dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt> <dd class="tag-default"> <ul class="dummy"> <li><a href="CB_AudioFile_API.ACMP.html#DEFAULT_OPTIONS"><code>CB_AudioFile_API.ACMP.prototype.DEFAULT_OPTIONS</code></a>.loop</li> </ul> </dd> <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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-56">line 56</a> </li> </ul> </dd> </dl> </dd> <hr> <dt class="name" id="mediaObject"> <h4 id="mediaObject"><span class="type-signature">&lt;readonly> </span>mediaObject<span class="type-signature"> :Object</span></h4> </dt> <dd> <div class="description"> <p>Stores the <a href="https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-media/">Media</a> object of the audio, used by the &quot;ACMP&quot; (<a href="https://github.com/apache/cordova-plugin-media">Apache Cordova Media Plugin</a>).</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">Object</span> </li> </ul> <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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-155">line 155</a> </li> </ul> </dd> </dl> </dd> <hr> <dt class="name" id="onStopFunction"> <h4 id="onStopFunction"><span class="type-signature">&lt;readonly> </span>onStopFunction<span class="type-signature"> :function</span></h4> </dt> <dd> <div class="description"> <p>Function to call when the audio stops.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">function</span> </li> </ul> <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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-128">line 128</a> </li> </ul> </dd> </dl> </dd> <hr> <dt class="name" id="pauseTime"> <h4 id="pauseTime"><span class="type-signature">&lt;readonly> </span>pauseTime<span class="type-signature"> :number</span></h4> </dt> <dd> <div class="description"> <p>Stores the time (in milliseconds) when the audio has been paused.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">number</span> </li> </ul> <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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-110">line 110</a> </li> </ul> </dd> </dl> </dd> <hr> <dt class="name" id="paused"> <h4 id="paused"><span class="type-signature">&lt;readonly> </span>paused<span class="type-signature"> :boolean</span></h4> </dt> <dd> <div class="description"> <p>Tells whether the audio is paused or not.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">boolean</span> </li> </ul> <dl class="details"> <dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt> <dd class="tag-default"> <ul class="dummy"> <li>false</li> </ul> </dd> <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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-101">line 101</a> </li> </ul> </dd> </dl> </dd> <hr> <dt class="name" id="position"> <h4 id="position"><span class="type-signature">&lt;readonly> </span>position<span class="type-signature"> :number</span></h4> </dt> <dd> <div class="description"> <p>Stores the current position (in seconds) where the audio is playing (returned by the <a href="https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-media/">getCurrentPosition</a> method), used by the &quot;ACMP&quot; (<a href="https://github.com/apache/cordova-plugin-media">Apache Cordova Media Plugin</a>).</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">number</span> </li> </ul> <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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-164">line 164</a> </li> </ul> </dd> </dl> </dd> <hr> <dt class="name" id="status"> <h4 id="status"><span class="type-signature">&lt;readonly> </span>status<span class="type-signature"> :integer</span></h4> </dt> <dd> <div class="description"> <p>Tells whether the file is unloaded (<a href="CB_AudioFile.html#.UNLOADED"><code>CB_AudioFile.UNLOADED</code></a>), loading (<a href="CB_AudioFile.html#.LOADING"><code>CB_AudioFile.LOADING</code></a>), unchecked (<a href="CB_AudioFile.html#.UNCHECKED"><code>CB_AudioFile.UNCHECKED</code></a>), checking (<a href="CB_AudioFile.html#.CHECKING"><code>CB_AudioFile.CHECKING</code></a>), loaded (<a href="CB_AudioFile.html#.LOADED"><code>CB_AudioFile.LOADED</code></a>), failed (<a href="CB_AudioFile.html#.FAILED"><code>CB_AudioFile.FAILED</code></a>) or aborted (<a href="CB_AudioFile.html#.ABORTED"><code>CB_AudioFile.ABORTED</code></a>).</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">integer</span> </li> </ul> <dl class="details"> <dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt> <dd class="tag-default"> <ul class="dummy"> <li><a href="CB_AudioFile.html#.UNLOADED"><code>CB_AudioFile.UNLOADED</code></a></li> </ul> </dd> <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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-47">line 47</a> </li> </ul> </dd> </dl> </dd> <hr> <dt class="name" id="stopped"> <h4 id="stopped"><span class="type-signature">&lt;readonly> </span>stopped<span class="type-signature"> :boolean</span></h4> </dt> <dd> <div class="description"> <p>Tells whether the audio is stopped or not.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">boolean</span> </li> </ul> <dl class="details"> <dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt> <dd class="tag-default"> <ul class="dummy"> <li>true</li> </ul> </dd> <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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-119">line 119</a> </li> </ul> </dd> </dl> </dd> <hr> <dt class="name" id="volume"> <h4 id="volume"><span class="type-signature">&lt;readonly> </span>volume<span class="type-signature"> :number</span></h4> </dt> <dd> <div class="description"> <p>Stores the volume of this audio. Accepted values go from 0 to MAX_VOLUME, where MAX_VOLUME is 100 if the <a href="CB_Configuration.CrossBase.html#.CB_AudioFile_AudioFileCache_USE_SPEAKER_VOLUME_AS_MAXIMUM"><code>CB_Configuration.CrossBase.CB_AudioFile_AudioFileCache_USE_SPEAKER_VOLUME_AS_MAXIMUM</code></a> property is false or otherwise MAX_VOLUME is the returning value of the <a href="CB_Speaker.html#.getVolume"><code>CB_Speaker.getVolume</code></a> function.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">number</span> </li> </ul> <dl class="details"> <dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt> <dd class="tag-default"> <ul class="dummy"> <li><a href="CB_AudioFile_API.ACMP.html#DEFAULT_OPTIONS"><code>CB_AudioFile_API.ACMP.prototype.DEFAULT_OPTIONS</code></a>.volume</li> </ul> </dd> <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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-65">line 65</a> </li> </ul> </dd> </dl> </dd> <hr> <dt class="name" id="volumeBeforeMute"> <h4 id="volumeBeforeMute"><span class="type-signature">&lt;readonly> </span>volumeBeforeMute<span class="type-signature"> :number</span></h4> </dt> <dd> <div class="description"> <p>Stores the volume of this audio before it was muted (to restore it later). Valid values go from 0 to MAX_VOLUME, where MAX_VOLUME is 100 if the <a href="CB_Configuration.CrossBase.html#.CB_AudioFile_AudioFileCache_USE_SPEAKER_VOLUME_AS_MAXIMUM"><code>CB_Configuration.CrossBase.CB_AudioFile_AudioFileCache_USE_SPEAKER_VOLUME_AS_MAXIMUM</code></a> property is false or otherwise MAX_VOLUME is the returning value of the <a href="CB_Speaker.html#.getVolume"><code>CB_Speaker.getVolume</code></a> function.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">number</span> </li> </ul> <dl class="details"> <dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt> <dd class="tag-default"> <ul class="dummy"> <li><a href="CB_AudioFile_API.ACMP.html#volume"><code>CB_AudioFile_API.ACMP#volume</code></a></li> </ul> </dd> <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_AudioFile_API_ACMP.js.html">CrossBase/audiovisual/audio/CB_AudioFile_API_ACMP.js</a>, <a href="CrossBase_audiovisual_audio_CB_AudioFile_API_ACMP.js.html#sunlight-1-line-74">line 74</a> </li> </ul> </dd> </dl> </dd> </dl> <h3 class="subsection-title">Methods</h3> <dl> <hr> <dt> <h4 class="name" id="checkPlaying"><span class="type-signature"></span>checkPlaying<span class="signature">( [callbackOk] [, callbackError] [, ignoreStatus] [, ignoreQueue] [, useCache] [, isSwapObject])</span><span class="type-signature"> &rarr; {boolean}</span></h4> </dt> <dd> <div class="description"> <p>Checks whether the audio can be played or not. Recommended to be called through a user-driven event (as onClick, onTouch, etc.), as some web clients may need this at least the first time in order to be able to play the audio. Also recommended to use before calling the <a href="CB_AudioFile_API.ACMP.html#play"><code>CB_AudioFile_API.ACMP#play</code></a> method the first time. The checking action will only be performed if the value of the <a href="CB_AudioFile_API.ACMP.html#status"><code>CB_AudioFile_API.ACMP#status</code></a> property belongs to the <a href="CB_AudioFile.html#.UNCHECKED"><code>CB_AudioFile.UNCHECKED</code></a> or to the <a href="CB_AudioFile.html#.CHECKING"><code>CB_AudioFile.CHECKING</code></a> value. After checking, if the audio can be played, the <a href="CB_AudioFile_API.ACMP.html#status"><code>CB_AudioFile_API.ACMP#status</code></a> of the object will get the value of <a href="CB_AudioFile.html#.LOADED"><code>CB_AudioFile.LOADED</code></a>. Otherwise, if it cannot be played, the <a href="CB_AudioFile_API.ACMP.html#status"><code>CB_AudioFile_API.ACMP#status</code></a> property will get the value of {CB_AudioFile.FAILED}.</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>callbackOk</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>Function with no parameters to be called when the audio has been checked successfully, being &quot;this&quot; the <a href="CB_AudioFile_API.ACMP.html"><code>CB_AudioFile_API.ACMP</code></a> object itself.</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>callbackError</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>Function to be called if the audio has not been checked successfully. The first and unique parameter will be a string describing the error found (if it could be determined), being &quot;this&quot; the <a href="CB_AudioFile_API.ACMP.html"><code>CB_AudioFile_API.ACMP</code></a> object itself.</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>ignoreStatus</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