web-dev-qa-db-de.com

Wie spielt man einen Sound in eckigerj

Verwenden einer API zum Abrufen der URL des Sounds, der im Audio-Tag wiedergegeben werden soll
Aussicht 

<img src="../img/play.svg" alt="Play" ng-click="playSound('exampleWord')" width="48"/>

Regler:

$scope.playSound=function(input){
    $scope.audio={};
    soundFetch.getSound(input).success(function(data){
        $scope.audio=data;
    });
}

Der soundFetch ist der Dienst zum Aufrufen der getSound-Funktion. Die zurückgegebenen Daten sind die URL des Songs. Wie kann ich den Sound abspielen, nachdem Sie auf das img-Tag geklickt haben. Derzeit wird ein Fehler angezeigt Error: [$interpolate:interr]

12
Akansh Gulati
    $scope.playAudio = function() {
        var audio = new Audio('audio/song.mp3');
        audio.play();
    };
27
var playSound = function(mp3File){
  var audioElement = document.createElement('audio');
  audioElement.setAttribute('src', "/sound/"+mp3File);
  audioElement.play();
}
1
user3871424

Es scheint, als würde die Funktion playSound Eingaben als Argument verwenden

Ich würde es versuchen

ng-click="playSound(this)" oder bei button

ng-click="playSound(document.getElementById('audio'))"

0
Jacek Pietal