2016-10-21 123 views
0

我想在啓動加載啓動畫面時啓動Ionic中的應用程序播放聲音文件。我怎樣才能做到這一點?找不到任何文檔。該文件是wav類型的。開始播放聲音文件

+0

您想在每次啓動應用程序或第一次啓動應用程序時播放此聲音嗎? – Antonis

+0

我只想在應用程序第一次啓動時播放聲音,例如啓動畫面正在加載時,而不是當它在後臺並且用戶恢復時。 – Nizami

回答

0

所以我的解決辦法是如下:

在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"; 
    } 
}) 
}) 

希望這會有所幫助。請讓我知道如果解決你的問題!