2017-05-29 12 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

あなたは、具体的にアプリ内AngularJSを必要としない限り、あなたはコルドバでJavaScriptを使用して機能を実現することができます。これは私が役に立つことを試みてきたものです。

今すぐ機能を追加するためのスクリプトを使用して
<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 –

関連する問題