Ionic slide box切换幻灯片时如何播放声音?没有点击

时间:2015-09-30 03:33:47

标签: angularjs cordova ionic

我想在从离子滑动盒切换幻灯片时播放声音,我需要它而不需要点击按钮,我已经尝试从角度放置一个ng-focus指令,我尝试了从离子滑动改变的属性框...这是我的代码:



<ion-slide-box on-slide-changed="slideHasChanged($index)" class="fondo-rojo" show-pager="false" does-continue="true" ng-if="sencillo.length">
                <ion-slide ng-repeat="senci in sencillo" ng-init="play('/android_asset/www/raw/'+senci.sound_title+'.mp3')" repeat-done="repeatDone()">
                      
                           <h1 class="margen-slide slide-estilo">{{senci.title}}</h1>
                           <a align="center" style="text-align:center !important;" ng-click="play('/android_asset/www/raw/'+senci.sound_title+'.mp3')"><img style="text-align:center !important;"  ng-src="img/sonidos/play.png" width="70px" height="70px"></a>
                           <!--<button ng-click="nextSlide()"> >> </button>-->
                       
                </ion-slide>
            </ion-slide-box>
&#13;
&#13;
&#13;

控制器

&#13;
&#13;
.controller("mediaCtrl", function($scope,$ionicPlatform, $cordovaMedia, $ionicLoading) {
 $ionicPlatform.ready(function(){
    $scope.play = function(src) {
        var media = $cordovaMedia.newMedia(src);
        //var media = new Media(src, null, null, mediaStatusCallback);
        media.play();
        //$cordovaMedia.play(media);
    }
 
    var mediaStatusCallback = function(status) {
        if(status == 1) {
            $ionicLoading.show({template: 'Loading...'});
        } else {
            $ionicLoading.hide();
        }
    }
    $scope.slideHasChanged = function(src,$index){
        
        console.info("El Slide Cambio y es el: " + $index);
        //alert('slideHasChanged $index=' + $index);
       if($index >= 0){
            $scope.play(src);
       }
     };
 })
    
})
&#13;
&#13;
&#13;

我希望你能帮助我感谢阅读,问候......

1 个答案:

答案 0 :(得分:0)

请注意,您只需要参考&#34; / raw&#34;,您不需要&#34; android_asset /...&# 34;,我也不确定您的&是什么? #34;发挥&#34;功能看起来像。

但试试这个

//play it on slide change
$scope.slideHasChanged = function($index){

   //init your audio depending on the selected slide
   clickAudio = new Audio('raw/'+sencillo[$index].sound_title+'.mp3');

   clickAuido.play();
}