2016-12-25 114 views
1

在我进入视图之前,我希望控制器随机选择一个音频文件并播放它。我真的不知道从哪里开始。随机播放音频变量

控制器:

var audioone = new Audio("img/1.mp3"); 
var audiotwo = new Audio("img/2.mp3"); 
var audiothree = new Audio("img/3.mp3"); 

$scope.$on("$ionicView.beforeEnter", function() { 
//something to do with Math.Rand() and then I have no clue? 

} 

任何帮助将不胜感激。仅供参考这个想法是,当用户得到这个观点,他会听到随机的鼓励词,我需要它们是随机的,因为我不想让用户厌倦听到相同顺序的相同音频。

回答

2

这是我该怎么做的。我为音频源放置一个数组,然后使用Math函数随机化,然后将其返回。

var audios = ['img/1.mp3', 'img/2.mp3', 'img/3.mp3']; 
 

 
var generateRandomAudio = function(audios) { 
 
    var audio = new Audio(audios[Math.floor(Math.random() * audios.length)]); 
 
    return audio; 
 
}
<button onclick="generateRandomAudio(audios)">Generate</button>

+0

工作就像一个魅力!我从来不会想出这个公式......真聪明 – MehdiN

0
var audios = ['img/1.mp3', 'img/2.mp3', 'img/3.mp3']; 
$scope.$on('$ionicView.beforeEnter', function() { 
    var audio = new Audio(audios[Math.floor(Math.random() * audios.length)]); 
    return audio; 
}); 

但你必须integreate像NativeAudioMedia插件科尔多瓦。

看看这个例子:Playing Audio In Your Android And iOS Ionic Framework App。我希望能帮助你。

祝你好运!

+0

请在你的回答中加入一些评论,以帮助OP了解它的工作原理。另外,您应该提供关于如何处理返回值的进一步指导 –