5

I want to play a sound notification, so I used the method described here: Cross-platform, cross-browser way to play sound from Javascript? However, when quicktime is not installed on the client machine, everytime the soundPlay function is called, a windows popup shows up. It says that quicktime is not installed, and proposes to install it.

For user experience, I would like not to bother users without quicktime like this:

function hasQuickTime() {
  // how do I know ?
}

// play sound only if quickTime is installed
if (hasQuickTime()) {
  soundPlay();
}
Community
  • 1
  • 1
Benjamin Crouzier
  • 40,265
  • 44
  • 171
  • 236
  • Here is basically the same script: http://dithered.chadlindstrom.ca/javascript/quicktime.html But you might prefer the more specific examples and the detailed way things are explained. –  Dec 04 '12 at 15:56

1 Answers1

6

See Apple's JavaScript Scripting Guide: Detecting QuickTime with JavaScript

var haveqt = false;

if (navigator.plugins) {
    for (i=0; i < navigator.plugins.length; i++ ) {
        if (navigator.plugins[i].name.indexOf
        ("QuickTime") >= 0)
        { haveqt = true; }
    }
}

if ((navigator.appVersion.indexOf("Mac") > 0)
    && (navigator.appName.substring(0,9) == "Microsoft")
    && (parseInt(navigator.appVersion) < 5) )
{ haveqt = true; }

You can test the variable haveqt for the presence of QuickTime.

Benjamin Crouzier
  • 40,265
  • 44
  • 171
  • 236
Martin Buberl
  • 45,844
  • 25
  • 100
  • 144