开始播放声音文件

时间:2016-10-21 11:53:07

标签: angularjs ionic-framework

我希望在Ionic启动应用程序时播放声音文件,因为启动画面会加载。我怎样才能做到这一点?找不到任何相关文档。该文件是wav类型。

1 个答案:

答案 0 :(得分:0)

所以我的解决方案如下:

在app.js中,您可以初始化localstorage中的值

在这种情况下:$ window.localStorage [' flag']

此外,您必须在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";
  }
 })
 })

希望这会有所帮助。如果你的问题解决了,请告诉我!

相关问题