[JS] Sound support afvragen in javascript

Pagina: 1
Acties:

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:14

crisp

Devver

Pixelated

Topicstarter
Ik ben dus al een tijdje bezig met de GoT Tracker, en na lang en breed zoeken op internet heb ik de volgende code gebruikt om te kijken of een PC wel of geen support heeft voor het afspelen van embedded sound:
code:
1
2
3
4
5
6
7
8
9
  var soundEnabled = 1; // assume enabled
  // Disable sound when not available
  var NSsound = navigator.plugins && navigator.plugins.LiveAudio;
  var IEsound = navigator.plugins && document.all && document.getElementById('notify').isSoundCardEnabled();
  if (!(NSsound || IEsound)) {
    prefs.PlaySoundNew[0] = 0;
    prefs.PlaySound[0] = 0;
    soundEnabled = 0;
  }

'notify' is dus de <embed> die verwijst naar een wavje of een mp3. Uiteindelijk wordt die dmv de play() method afgespeeld.
Nu blijkt dit bij sommigen problemen (lees JS errors) te geven. Ik vermoed dat het door de afvraging 'isSoundCardEnabled()' komt; dit is een standaard method als je tenminste de windows MediaPlayer 6.4 of hoger geinstalleerd heb (denk ik).
Ik vraag me af of er een betere manier is om te checken of sound support dmv een <embed> ondersteunt is of niet...

Intentionally left blank


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

geen idee, maar de isSoundCardEnabled() foutmeldingen kun je wel afvangen natuurlijk door eerst te checken op isSoundCardEnabled.

Wat trouwens imho een betere manier is om geluid af te spelen in een html pagina is via een Flash-embed. Maak een simpel Flash-objectje dat je middels Javascript kan aanroepen. Zo heb je 95%+ mensen met ondersteuning en een 100% werkende check (Javachecks zijn der genoeg, bijvoorbeeld van Mook, al moet je die wel ff inkrimpen imho ;)).

my 2 c.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:14

crisp

Devver

Pixelated

Topicstarter
Op zondag 30 juni 2002 11:08 schreef Bosmonster het volgende:
geen idee, maar de isSoundCardEnabled() foutmeldingen kun je wel afvangen natuurlijk door eerst te checken op isSoundCardEnabled.

Wat trouwens imho een betere manier is om geluid af te spelen in een html pagina is via een Flash-embed. Maak een simpel Flash-objectje dat je middels Javascript kan aanroepen. Zo heb je 95%+ mensen met ondersteuning en een 100% werkende check (Javachecks zijn der genoeg, bijvoorbeeld van Mook, al moet je die wel ff inkrimpen imho ;)).

my 2 c.
De afvraging .isSoundCardEnabled geeft bij mij al meteen een foutmelding .isSoundCardEnabled() returned wel true.
Flash is inderdaad een optie, ik zal eens kijken of ik het ergens heb liggen want ik heb er nog nooit iets mee gedaan :o

edit:

Ik heb de uitvraging van de .isSoundCardEnabled() nu in een try - catch constructie gezet; hopelijk lost dat de problemen op...

Intentionally left blank