0
我想在啓動加載啓動畫面時啓動Ionic中的應用程序播放聲音文件。我怎樣才能做到這一點?找不到任何文檔。該文件是wav類型的。開始播放聲音文件
我想在啓動加載啓動畫面時啓動Ionic中的應用程序播放聲音文件。我怎樣才能做到這一點?找不到任何文檔。該文件是wav類型的。開始播放聲音文件
所以我的解決辦法是如下:
在app.js你可以在你的localStorage
在這種情況下,初始化值:$ window.localStorage [ '標誌']
你也必須在www文件夾中創建一個名爲audio的文件夾,並在那裏放置你的wav文件。
.run(function($ionicPlatform,$state,$window,$q) {
$ionicPlatform.ready(function() {
$window.localStorage['flag'] = "false";
flager = $window.localStorage['flag'];
if (flager=="false"){
var service = {
loadMedia: loadMedia,
getStatusMessage: getStatusMessage,
getErrorMessage: getErrorMessage
};
function loadMedia(src, onError, onStatus, onStop){
var defer = $q.defer();
var mediaSuccess = function(){
if(onStop){onStop();}
};
var mediaError = function(err){
_logError(src, err);
if(onError){onError(err);}
};
var mediaStatus = function(status){
if(onStatus){onStatus(status);}
};
if($ionicPlatform.is('android')){src = '/android_asset/www/' + src;}
defer.resolve(new $window.Media(src, mediaSuccess, mediaError, mediaStatus));
return defer.promise;
}
function _logError(src, err){
console.error('media error', {
code: err.code,
message: getErrorMessage(err.code)
});
}
function getStatusMessage(status){
if(status === 0){return 'Media.MEDIA_NONE';}
else if(status === 1){return 'Media.MEDIA_STARTING';}
else if(status === 2){return 'Media.MEDIA_RUNNING';}
else if(status === 3){return 'Media.MEDIA_PAUSED';}
else if(status === 4){return 'Media.MEDIA_STOPPED';}
else {return 'Unknown status <'+status+'>';}
}
function getErrorMessage(code){
if(code === 1){return 'MediaError.MEDIA_ERR_ABORTED';}
else if(code === 2){return 'MediaError.MEDIA_ERR_NETWORK';}
else if(code === 3){return 'MediaError.MEDIA_ERR_DECODE';}
else if(code === 4){return 'MediaError.MEDIA_ERR_NONE_SUPPORTED';}
else {return 'Unknown code <'+code+'>';}
}
return service;
src = "audio/yoursound.wav";
loadMedia(src).then(function(media){
media.play();
});
$window.localStorage['flag']="true";
}
})
})
希望這會有所幫助。請讓我知道如果解決你的問題!
您想在每次啓動應用程序或第一次啓動應用程序時播放此聲音嗎? – Antonis
我只想在應用程序第一次啓動時播放聲音,例如啓動畫面正在加載時,而不是當它在後臺並且用戶恢復時。 – Nizami