如何暂停/停止播放音频并替换为新的音频文件



因此,当用户单击按钮时,音频文件会从音频文件数组(大约 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;
  }
 }

你可以在 Cordova 中使用 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 更改音频源的此问题的其他答案。

有关更多属性和功能,请参阅 w3schools HTML 音频视频 DOM 参考页面。

最新更新