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 :

D�buter automatiquement le son d'un fichier ogg � un endroit pr�cis


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2014
    Messages
    27
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : Webmaster
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 27
    Par d�faut D�buter automatiquement le son d'un fichier ogg � un endroit pr�cis
    Bonjour,

    Je voudrais savoir si avec le javascript on peut faire d�buter le son � un endroit pr�cis d'un fichier ogg ou mp3. par exemple, d�buter le son � 1minute 30 seconde � partir du d�but de l'enregistrement.
    J'utilise la balise du HTML5, elle poss�de tr�s peu d'arguments (autoplay, controls notamment), mais apparemment pas de commencer le son o� on veut:
    Merci par avance.

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Oui en modifiant en JavaScript l'attribut currentTime. L'API compl�te de l'�l�ment <audio> est dispoible ici : https://developer.mozilla.org/en-US/...MLMediaElement

  3. #3
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2014
    Messages
    27
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : Webmaster
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 27
    Par d�faut
    Effectivement, j'ai tent� un petit script et �a fonctionne. il y a sans doute mieux (je suis loin d'�tre export). Voil� ce que �a donne:

    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
     
    <script language="javascript">
     
    function demarrer()
      { 
      audio1.currentTime=90;
      audio1.play();
      } 
     
    </script>
     
    <audio id="monaudio" src="1violon_musique.ogg"></audio>
     
    <script language="javascript">
     
    var audio1=document.getElementById('monaudio');
     
    </script>
     
    <button onclick="demarrer();">envoyer musique</button>
    Le son d�marre bien � 90 secondes � partir du d�but quand on clique sur le bouton. Et �a fonctionne aussi bien avec Chrome qu'avec Firefox.

    En revanche, si je lance la fonction directement par:

    demarrer();

    au lieu de <button... pour d�marrer automatiquement le son, l� �a marche et je comprends pas pourquoi.

  4. #4
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Citation Envoy� par sat99
    l� �a marche et je comprends pas pourquoi.
    Je te comprends, c'est toujours aga�ant quand un script marche...

    Plaisanterie � part, j'imagine qu'en r�alit�, �a ne marche pas, ce qui peut �tre d� � plusieurs raisons.
    D'abord, un mauvais positionnement de l'appel de la fonction. Si elle est pr�sente dans le code avant la balise <audio>, �a ne pourra pas marcher puisque l'�l�ment n'existe pas encore dans le DOM.

    Mais dans ton cas pr�cis, c'est plus probablement d� au fait que pour pouvoir atteindre le moment souhait� (90s), il faut que le fichier ai �t� pr�charg� (au moins jusqu'� cet instant) ce qui n'est pas le cas si tu lances l'�coute juste apr�s avoir ins�r� la balise dans le DOM.
    A la rigueur, tu pourrais utiliser l'�v�nement durationchange pour contr�ler le moment � partir duquel tu peux lancer l'�coute.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  5. #5
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2014
    Messages
    27
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : Webmaster
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 27
    Par d�faut suite passge variable de iframe au document principal
    Oui, je voulais dire "�a marche pas", mais c'est quand j'�crivais directement la fonction: demarrer()
    Pour que �a marche, il faut l'inclure dans un setTimeout, et l� �A MARCHE, c'est pas un lapsus. Donc, r�solu.Je r�capitule:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script language="javascript">
    function demarrer(){ 
      audio1.currentTime=705;
      audio1.play();
    } 
    </script>
    <audio id="monaudio" src="1violon_musique.ogg"></audio>
    <script language="javascript">
    var audio1=document.getElementById('monaudio');
    setTimeout("demarrer()",1000);
    </script>

  6. #6
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Le setTimeout est la fa�on la plus sale de corriger ton probl�me d'ordre des instructions, le d�lai de 1 seconde est compl�tement arbitraire et ne sera peut �tre pas suffisant dans tous les cas. Il faut te brancher sur les bons �v�nements, regarde ici : http://www.whatwg.org/specs/web-apps...ml#mediaevents

    Donc il faut placer le curseur currentTime � l'endroit d�sir� puis attendre l'�v�nement (canplay pour jouer rapidement avec un risque que �a coupe au milieu, canplaythrough pour jouer sans risque de coupure)

    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    <audio id="monaudio" src="1violon_musique.ogg"></audio>
    <script>var audio = document.getElementById("monaudio");
    audio.currentTime = 705;
    audio.addEventListener("canplaythrough", audio.play);
    </script>

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. ouvrir un fichier chm � un endroit pr�cis
    Par Nostalgeek dans le forum Entr�e/Sortie
    R�ponses: 0
    Dernier message: 07/11/2010, 02h43
  2. R�ponses: 7
    Dernier message: 29/04/2010, 17h27
  3. [Syntaxe]Inclure du code d'un fichier externe � un endroit pr�cis
    Par bertra dans le forum G�n�ral Python
    R�ponses: 1
    Dernier message: 27/01/2009, 16h32
  4. Fichier + ecrire � un endroit pr�cis
    Par fraisa1985 dans le forum Entr�e/Sortie
    R�ponses: 1
    Dernier message: 19/03/2008, 14h22
  5. Modifier un fichier texte � un endroit pr�cis
    Par Christophe_ dans le forum C#
    R�ponses: 2
    Dernier message: 29/04/2007, 17h48

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