IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

lecture audio WMP


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 57
    Points : 34
    Points
    34
    Par défaut lecture audio WMP
    Bonjour,

    j'utilise javascript pour gerer la lecture d'un fichier audio dans IE.
    J'ai des evenement sur onkeyup() et on onkeydown().
    Je lis ,avance,revient et stop seulement lorsque j'appuie sur des touches du clavier.

    Mon problème est le suivant, si j'appuie trop vite sur play et avance rapide et/ou retour...mon lecteur saute. Ou si j'appuie sur 2 touche en meme temps, ça "saute".
    Je dois réappuyer une seconde fois sur la touche play pour entendre. Ou meme par moment , le lecteur revient tout seul en arriere de quelques secondes.

    Une idee du pourquoi de ce comportement?

    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    var isCtlKeyPressed = false;
    var isShiftKeyPressed = false;
    var ffPedalDown = false;
    var rewindPedalDown = false;
     
    function hotkey(eventname)
    {
    	  if(document.getElementById("MediaPlayer") == null)
      return;
     
    	if(eventname.keyCode == 17)
    	{
    		isCtlKeyPressed = true;
    	}
    	if(eventname.keyCode == 16)
    	{
    		isShiftKeyPressed = true;
    	}
        if (eventname.keyCode == parseInt('$!{play_key}'))
    	{
    		playAudio();
     
    		// Remap the key and setting returnValue to false so that the
    		// mapped key will not be passed to the browser.  
    		eventname.keyCode = 505;
    		eventname.returnValue = false;
    		return false;
    	}
    	else if (eventname.keyCode == parseInt('$!{rewind_key}'))
    	{
     
    		rewindPedalDown = true;
    		rewindAudio(true);
     
    		// Remap the key and setting returnValue to false so that the
    		// mapped key will not be passed to the browser.  
    		eventname.keyCode = 505;
    		eventname.returnValue = false;
    		return false;
    	}
    	else if (eventname.keyCode == parseInt('$!{ff_key}'))
    	{
    		ffPedalDown = true;
    		fastForwardAudio(true);
     
    		// Remap the key and setting returnValue to false so that the
    		// mapped key will not be passed to the browser.  
    		eventname.keyCode = 505;
    		eventname.returnValue = false;
    		return false;
    	}	
    	else if (eventname.keyCode == parseInt('$!{stop_key}'))
    	{
    		ffPedalDown = false;
    		rewindPedalDown = false;
    		stopAudio();
    	}
    	return true;	
    }
     
     
    function keyup(eventname)
    {
    	if (eventname.keyCode == parseInt('$!{play_key}'))
    		pauseAudio();
    	else if (eventname.keyCode == parseInt('$!{ff_key}'))
    	{
    		ffPedalDown = false;
    		pauseAudio();
    	}
    	else if (eventname.keyCode == parseInt('$!{rewind_key}'))
    	{
    		rewindPedalDown = false;
    		pauseAudio();
    	}
    	return true; 
    }
     
    <body class="blabla" onkeydown="return hotkey(event)" onkeyup="keyup(event)" ......
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    au lieu de faire une serie de ifs faudrait faire un switch ...
    et eventuellement rajouter unflag boolean qui indique qu'un traitement est déja en cours de façon a éviter que l'appui raproché de touches pose problème

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 57
    Points : 34
    Points
    34
    Par défaut
    tu peux en dire un peux plus sur le flag....

    un flag qui me dit pour chaque appuie si une touche est deja pressee ou non...qqch de ce genre ?

Discussions similaires

  1. Pilote pour lecture audio
    Par Masterglob dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 29/05/2008, 12h19
  2. [Libraire] Son , lecture audio.
    Par RideKick dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/07/2007, 13h51
  3. lecture audio auto une fois
    Par vincz dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/05/2007, 08h06
  4. [JavaSound] Problème de lecture audio
    Par jbond008 dans le forum Multimédia
    Réponses: 2
    Dernier message: 09/05/2007, 10h56
  5. Flux audio WMP
    Par hiko-seijuro dans le forum MFC
    Réponses: 18
    Dernier message: 05/05/2006, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo