18041 sujets
Questions générales et questions de débutants
boni75 a écrit :
bonjour et merci,
j'ai regardé du coté de la balise audio et ne vois vraiment pas comment faire pour ne pas affiché le lecteur et que le son se joue sur la même page (en appuyant sur un btn)...
si vous avez des exemples, j'en serai ravi
Quand tu dis "(en appuyant sur un btn)" tu parle de quel bouton ? car le lecteur est invisible (c'est ce que tu souhaite) donc je vois pas de quel bouton du parle.
Au pire, essaye de mettre un son deja avec <audio> y'a rien de plus simple une fois que tu y es arrivé go mettre en visibility hidden.
Modifié par JENCAL (27 Apr 2016 - 12:27)
boni75 a écrit :
merci jenkal, oui effectivement je veut le lecteur invisible le client cliquera sur une icone de haut parleur et le sons se joue.
derien bauny57,
dans ce cas il te faut utiliser un evenement onclick sur le bouton qui aura l'icone de haut parleur. dans cette evenement onclick tu feras appel à une methode qui fera un .play() sur ton element <audio>
Modifié par JENCAL (27 Apr 2016 - 14:07)
rebonjour et merci,
je me demande pourquoi, je n ai qu une lecture sur huit choix..
merci d'avance
je me demande pourquoi, je n ai qu une lecture sur huit choix..
<?php
echo '<form class="form_exercices_ou_result" action="correction_exo_ou_2.php" method="POST" />';
$reponses = array(
'chx' => array(
'reponse' => 'une',
'mot' => 'douche',
'image' => 'img/douche.gif',
'btn' => 'btn/haut-parleur.png',
'mp3' => 'mp3/douche.mp3'
) ,
'chx_1' => array(
'reponse' => 'une',
'mot' => 'poubelle',
'image' => 'img/poubelle.gif',
'btn' => 'btn/haut-parleur.png',
'mp3' => 'mp3/poubelle.mp3'
) ,
'chx_2' => array(
'reponse' => 'une',
'mot' => 'souris',
'image' => 'img/souris.gif',
'btn' => 'btn/haut-parleur.png',
'mp3' => 'mp3/souris.mp3'
) ,
'chx_3' => array(
'reponse' => 'une',
'mot' => 'soupe',
'image' => 'img/soupe.gif',
'btn' => 'btn/haut-parleur.png',
'mp3' => 'mp3/soupe.mp3'
) ,
'chx_4' => array(
'reponse' => 'un',
'mot' => 'couteau',
'image' => 'img/couteau.gif',
'btn' => 'btn/haut-parleur.png',
'mp3' => 'mp3/couteau.mp3'
) ,
'chx_5' => array(
'reponse' => 'un',
'mot' => 'tournevis',
'image' => 'img/tournevis.gif',
'btn' => 'btn/haut-parleur.png',
'mp3' => 'mp3/tournevis.mp3'
) ,
'chx_6' => array(
'reponse' => 'un',
'mot' => 'journal',
'image' => 'img/journal.gif',
'btn' => 'btn/haut-parleur.png',
'mp3' => 'mp3/journal.mp3'
) ,
'chx_7' => array(
'reponse' => 'un',
'mot' => 'carre-rouge',
'image' => 'img/rouge.gif',
'btn' => 'btn/haut-parleur.png',
'mp3' => 'mp3/rouge.mp3'
)
);
foreach($reponses as $cle => $reponse)
{
echo '<article class="content_img">';
echo '<button style="width:36px;height:36px;background-image:url(btn/haut-parleur2.png);border:none;" onclick="playVid()" type="button" value="' . $reponse['mp3'] . '"></button>';
echo '<audio id="audio" width="320" height="176">';
echo '<source src="' . $reponse['mp3'] . '" type="audio/mp3">';
echo '<source src="mov_bbb.ogg" type="video/ogg">';
echo '<p>Votre navigateur ne supporte pas le format audio.</p>';
echo '</audio>';
echo '<figure>';
echo '<img src="' . $reponse['image'] . '" alt="' . $reponse['mot'] . '" width:"75" height="75" />';
echo '</figure>';
echo '<p style="margin:1em 0 0 .5em;display:inline-block;">' . $reponse['reponse'] . '<input type="text" name="' . $cle . '" value="" /></p>';
echo '</article>';
}
echo '<p class="correction_center"><input type="submit" name="correction" value="correction"/></p>';
echo '</form>';
?>
merci d'avance
Ah impecc', le voilà le problème (en plus du problème dans le code précédent que Jencal et moi n'avions pas vu)
Tu as collé le même id pour toutes tes balises audio et donc premièrement, c'est interdit par la loi de 1914, et tu seras pendu pour ça !
Et deuxièmement, tu ne peux donc pas cibler tel ou tel balise audio.
Donc dans ta boucle foreach, il te faut :
Et dans ton JS :
... pareil pour le stop()
Modifié par SolidSnake (28 Apr 2016 - 10:46)
Tu as collé le même id pour toutes tes balises audio et donc premièrement, c'est interdit par la loi de 1914, et tu seras pendu pour ça !
Et deuxièmement, tu ne peux donc pas cibler tel ou tel balise audio.
Donc dans ta boucle foreach, il te faut :
echo '<button style="width:36px;height:36px;background-image:url(btn/haut-parleur2.png);border:none;" onclick="playVid(\'audio_'.$cle.'\')" type="button" value="' . $reponse['mp3'] . '"></button>';
echo '<audio id="audio_'.$cle.'" width="320" height="176">';
Et dans ton JS :
function playVid(id) {
var vid = document.getElementById(id);
vid.play();
}
... pareil pour le stop()
Modifié par SolidSnake (28 Apr 2016 - 10:46)