一、音樂播放:Native Audio
preloadSimple: function ( id, assetPath, successCallback, errorCallback)
將音頻文件加載到內存中。優化短片/單發(最多五秒)。不能停止/循環。
- 參數
- id - 音頻文件的ID字符串唯一ID
- assetPath - 相對或者絕對路徑得URL(包括http://)得音頻資產
- successCallback - 成功回調函數
- errorCallback - 錯誤回調函數
preloadComplex: function ( id, assetPath, volume, voices, delay, successCallback, errorCallback)
將音頻文件加載到內存中。優化背景音樂/環境音效。可以停止/循環。
使用更大的占用級別的高級原生API。(iOS:AVAudioPlayer)
聲音默認情況下,有1的聲音,那就是:一個實例將停止和重新啟動play()。如果有多個聲音(大於0),它將通過聲音循環播放重疊音頻。
體積的默認容量是1,默認設置下可以通過0.1個數值為1。
- 參數
- id - 音頻文件的ID字符串唯一ID
- assetPath - 相對路徑的音頻資產在WWW目錄
- volume - 預加載聲音的音量(0.1到1)
- voices - 可用的多聲道聲音的數目
- delay - 延遲多長時間
- successCallback - 成功回調函數
- errorCallback - 錯誤回調函數
play: function (id, successCallback, errorCallback, completeCallback)
播放音頻資產
- params:
- id - string unique ID for the audio file
- successCallback - success callback function
- errorCallback - error callback function
- completeCallback - error callback function
loop: function (id, successCallback, errorCallback)
循環加載的音頻資產無限-通過preloadcomplex資產這只
- params
- ID - string unique ID for the audio file
- successCallback - success callback function
- errorCallback - error callback function
stop: function (id, successCallback, errorCallback)
停止音頻文件。只有通過preloadcomplex資產工作負載。
- params:
- ID - string unique ID for the audio file
- successCallback - success callback function
- errorCallback - error callback function
unload: function (id, successCallback, errorCallback)
從內存中卸載音頻文件
- params:
- ID - string unique ID for the audio file
- successCallback - success callback function
- errorCallback - error callback function
setVolumeForComplexAsset: function (id, volume, successCallback, errorCallback)
更改預裝的復雜資產的數量。
- params:
- ID - string unique ID for the audio file
- volume - the volume of the audio asset (0.1 to 1.0)
- successCallback - success callback function
- errorCallback - error callback function
if( window.plugins && window.plugins.NativeAudio ) { // Preload audio resources window.plugins.NativeAudio.preloadComplex( 'music', 'audio/music.mp3', 1, 1, function(msg){ }, function(msg){ console.log( 'error: ' + msg ); }); window.plugins.NativeAudio.preloadSimple( 'click', 'audio/click.mp3', function(msg){ }, function(msg){ console.log( 'error: ' + msg ); }); // Play window.plugins.NativeAudio.play( 'click' ); window.plugins.NativeAudio.loop( 'music' ); // Stop multichannel clip after 60 seconds window.setTimeout( function(){ window.plugins.NativeAudio.stop( 'music' ); window.plugins.NativeAudio.unload( 'music' ); window.plugins.NativeAudio.unload( 'click' ); }, 1000 * 60 ); }
Native Audio參數說明:http://ionic-china.com/doc/ngCordova/Native%20Audio.html
cordova-plugin-nativeaudio中github參數詳情說明: https://github.com/wootwoot1234/cordova-plugin-nativeaudio
