2017-05-29 250 views
-1

因此,當用戶單擊某個按鈕時,音頻文件將播放一系列音頻文件(大約2秒的剪輯),這很好。但是,如果用戶反覆點擊該按鈕,則音頻文件開始相互播放。理想情況下,我想停止/暫停先前的音頻文件,然後播放新的音頻文件。這是我一直試圖利用:如何暫停/停止播放音頻並替換爲新的音頻文件

$scope.sounder=function(){ 


$scope.rs=$scope.diff[$scope.workout_index].audiorep; 
$scope.ms=$scope.diff[$scope.workout_index].audiomove; 

    //var movesound = new Audio ($scope.ms); 
    //ar repsound = new Audio ($scope.rs); 

    var movesound = new Media($rootScope.getMediaURL($scope.ms)); 
    var repsound = new Media($rootScope.getMediaURL($scope.rs)); 

    if($scope.muter==0){ 



     movesound.pause();//DOES NOT WORK 
     movesound.stop();//STOPS ALL AUDIO FROM PLAYING, SO NOTHING PLAYS 

     $timeout(function() { 
     movesound.play(); 
     }, 1000); 

     $timeout(function() { 
     repsound.play(); 
     }, 3000); 

    } 

    if($scope.muter==1){ 
    console.log("Rachel has been muted"); 
    return; 
    } 
} 
+0

你嘗試了movesound.destroy(); ? – MatMat

+0

剛剛嘗試過,不允許任何文件播放。 – MehdiN

回答

0

您可以的JavaScript實現的功能在科爾多瓦除非特別需要AngularJS在您的應用程序。

<audio controls id="myAudio"> 
    <source src="horse.ogg" type="audio/ogg"> 
    <source src="horse.mp3" type="audio/mpeg"> 
    Your browser does not support the HTML5 audio tag. 
</audio> 

現在使用腳本來添加相應的功能 -

<script> 
var aud= document.getElementById("myAudio"); 

function playAud() { 
    aud.play(); 
} 

function pauseAud() { 
    aud.pause(); 
} 

function myFunction() { 
    isSupp = aud.canPlayType("audio/mp3"); 
    if (isSupp == "") { 
    aud.src = "audio.ogg"; 
    } else { 
    aud.src = "audio.mp3"; 
    } 
    aud.load(); 
} 
</script> 

參見改變音頻源的JavaScript this問題答案。

有關更多屬性和功能,請參閱w3schools HTML Audio Video DOM reference Page

+0

我很欣賞這個答案,但是它必須是AngularJS,因爲其他因素對我的應用程序很有用。無論如何,謝謝:) – MehdiN

+0

哦好吧好吧。 :d –