1

There's a way to play a sound like a beep when i select an option from the list below?

<select ng-model="orderList" class="meselect">

                <option value="Nm">Name</option>
                <option value="Tp">Type</option>
                <option value="Pr">Price</option>
            </select>
Leogreen
  • 701
  • 1
  • 6
  • 20
  • For very simple JS-based audio, you can look at the answer to [this question](http://stackoverflow.com/questions/9419263/playing-audio-with-javascript). You'd basically just be running that in a function called by ngClick. – Harris Dec 08 '16 at 21:33
  • Use the `ng-change` directive to invoke an audio function. – georgeawg Dec 08 '16 at 22:11

1 Answers1

3

You can use javascript for this. Include this into your index.html within script tag

<script type="text/javascript">
var html5_audiotypes = {
    //define list of audio file extensions and their associated audio types. Add to it if your specified audio file isn't on this list:
    "mp3": "audio/mpeg",
    "mp4": "audio/mp4",
    "ogg": "audio/ogg",
    "wav": "audio/wav"
};

function createsoundbite(sound) {
    var html5audio = document.createElement('audio');
    if (html5audio.canPlayType) { //check support for HTML5 audio
        for (var i = 0; i < arguments.length; i++) {
            var sourceel = document.createElement('source');
            sourceel.setAttribute('src', arguments[i]);
            if (arguments[i].match(/\.(\w+)$/i)) {
                sourceel.setAttribute('type', html5_audiotypes[RegExp.$1]);
            }
            html5audio.appendChild(sourceel);
        }
        html5audio.load();
        html5audio.playclip = function() {
            html5audio.pause();
            html5audio.currentTime = 0;
            html5audio.play();
        }
        return html5audio;
    } else {
        return {
            playclip: function() {
                throw new Error("Your browser doesn't support HTML5 audio unfortunately");
            }
        };
    }
}
 // Provide path for sounds
clicksound = createsoundbite("/sounds/daClick.ogg", "/sounds/daClick.mp3");
coindropsound = createsoundbite("/sounds/coin-drop.ogg", "/sounds/coin-drop.mp3");
</script>

Once done you can call clicksound.playclip() on dropdown change event

Bhuneshwer
  • 577
  • 1
  • 9
  • 26