Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mp3 dans formulaire asp.net

3 réponses
Avatar
cpeltier
Bonjour,

Je rencontre un comportement qui me paraît bizarre ..

1° Problème initial : insérer un lecteur de mp3 dans une page asp.net

2° Démarche suivie :
a) coté serveur, créer une page music.js contenant deux fonctions
startmusic et stopmusic
function StartMusic()
{
var FichierMP3;
var Dir;
Dir="D:\\mp3\\";
FichierMP3 = Dir + document.forms["Form1"].Catalogue.value;
document.all.mediaplayer.innerHTML="<EMBED SRC='"+FichierMP3+"'
HIDDEN='true' LOOP=0>";
//alert()
}
Catalogue est une Dropdownlist.

b) coté HTML de la page aspx insertion des balises
<div id="mediaplayer">
</div>

c) coté vb.net au chargement de la page
Dim sc As String = "<script language='javascript' src=music.js></script>"
Page.RegisterClientScriptBlock("StartMusic", sc)
Me.BtnPlay.Attributes.Add("onclick", "StartMusic();")
Me.BtnStop.Attributes.Add("onclick", "StopMusic();")

3° La question ??
Le code ne fonctionne que si l'appel alert() de startmusic n'est pas en
commentaire.
Le comportement est le suivant :
sur BtnPlay, la musique est jouée, la fenêtre d'alerte présentée. dès que la
fenêtre alert disparaît la musique cesse d'être jouée.
Si l'appel à alert() est supprimé la musique n'est pas jouée ...
(le media player est ouvert puis refermé immédiatement)

Je sèche ...

merci d'avance de vos réponses

3 réponses

Avatar
Aurélien [MS]
Re-bonjour,

Ton problème est le suivant :
Lorsque tu cliques sur le bouton "BtnPlay", tu appelles une fonction
javascript client qui va "démarrer" la lecture de la musique en insérant le
tag "<EMBED ...".
Un fois la fonction js terminée, ta page est soumise vers le serveur, et est
donc rechargée.
Le tag "<EMBED... " que tu as ajouté dynamiquement est donc perdu et la
musique s'arrête.

Quand tu mets le alert() en place, tu ne sors pas de la fonction jscript et
la page n'est pas rechargée tant que tu ne cliques pas sur "OK".

Pour éviter de soumettre ta page sur le serveur et ainsi perdre ta musique,
tu peux remplacer dans ton Page_Load
Me.BtnPlay.Attributes.Add("onclick", "StartMusic();")
par
Me.BtnPlay.Attributes.Add("onclick", "StartMusic(); return false;")

Ceci aura pour effet de ne pas soumettre la page vers le serveur.

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.



"cpeltier" a écrit dans le message de
news:
Bonjour,

Je rencontre un comportement qui me paraît bizarre ..

1° Problème initial : insérer un lecteur de mp3 dans une page asp.net

2° Démarche suivie :
a) coté serveur, créer une page music.js contenant deux fonctions
startmusic et stopmusic
function StartMusic()
{
var FichierMP3;
var Dir;
Dir="D:mp3";
FichierMP3 = Dir + document.forms["Form1"].Catalogue.value;
document.all.mediaplayer.innerHTML="<EMBED SRC='"+FichierMP3+"'
HIDDEN='true' LOOP=0>";
//alert()
}
Catalogue est une Dropdownlist.

b) coté HTML de la page aspx insertion des balises
<div id="mediaplayer">
</div>

c) coté vb.net au chargement de la page
Dim sc As String = "<script language='javascript' src=music.js></script>"
Page.RegisterClientScriptBlock("StartMusic", sc)
Me.BtnPlay.Attributes.Add("onclick", "StartMusic();")
Me.BtnStop.Attributes.Add("onclick", "StopMusic();")

3° La question ??
Le code ne fonctionne que si l'appel alert() de startmusic n'est pas en
commentaire.
Le comportement est le suivant :
sur BtnPlay, la musique est jouée, la fenêtre d'alerte présentée. dès que
la
fenêtre alert disparaît la musique cesse d'être jouée.
Si l'appel à alert() est supprimé la musique n'est pas jouée ...
(le media player est ouvert puis refermé immédiatement)

Je sèche ...

merci d'avance de vos réponses



Avatar
cpeltier
Succès à 100% ! merci.

PS :Quels ouvrages consulter pour éclairer ces notions ?

"Aurélien [MS]" a écrit :

Re-bonjour,

Ton problème est le suivant :
Lorsque tu cliques sur le bouton "BtnPlay", tu appelles une fonction
javascript client qui va "démarrer" la lecture de la musique en insérant le
tag "<EMBED ...".
Un fois la fonction js terminée, ta page est soumise vers le serveur, et est
donc rechargée.
Le tag "<EMBED... " que tu as ajouté dynamiquement est donc perdu et la
musique s'arrête.

Quand tu mets le alert() en place, tu ne sors pas de la fonction jscript et
la page n'est pas rechargée tant que tu ne cliques pas sur "OK".

Pour éviter de soumettre ta page sur le serveur et ainsi perdre ta musique,
tu peux remplacer dans ton Page_Load
Me.BtnPlay.Attributes.Add("onclick", "StartMusic();")
par
Me.BtnPlay.Attributes.Add("onclick", "StartMusic(); return false;")

Ceci aura pour effet de ne pas soumettre la page vers le serveur.

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.



"cpeltier" a écrit dans le message de
news:
> Bonjour,
>
> Je rencontre un comportement qui me paraît bizarre ..
>
> 1° Problème initial : insérer un lecteur de mp3 dans une page asp.net
>
> 2° Démarche suivie :
> a) coté serveur, créer une page music.js contenant deux fonctions
> startmusic et stopmusic
> function StartMusic()
> {
> var FichierMP3;
> var Dir;
> Dir="D:mp3";
> FichierMP3 = Dir + document.forms["Form1"].Catalogue.value;
> document.all.mediaplayer.innerHTML="<EMBED SRC='"+FichierMP3+"'
> HIDDEN='true' LOOP=0>";
> //alert()
> }
> Catalogue est une Dropdownlist.
>
> b) coté HTML de la page aspx insertion des balises
> <div id="mediaplayer">
> </div>
>
> c) coté vb.net au chargement de la page
> Dim sc As String = "<script language='javascript' src=music.js></script>"
> Page.RegisterClientScriptBlock("StartMusic", sc)
> Me.BtnPlay.Attributes.Add("onclick", "StartMusic();")
> Me.BtnStop.Attributes.Add("onclick", "StopMusic();")
>
> 3° La question ??
> Le code ne fonctionne que si l'appel alert() de startmusic n'est pas en
> commentaire.
> Le comportement est le suivant :
> sur BtnPlay, la musique est jouée, la fenêtre d'alerte présentée. dès que
> la
> fenêtre alert disparaît la musique cesse d'être jouée.
> Si l'appel à alert() est supprimé la musique n'est pas jouée ...
> (le media player est ouvert puis refermé immédiatement)
>
> Je sèche ...
>
> merci d'avance de vos réponses
>





Avatar
Aurélien [MS]
Bonjour,

A vrai dire pour ce genre de notions, je n'ai pas d'ouvrages particuliers à
te proposer.

Par contre sur ASP.NET en général, il y a de nombreux livres.
Celui préparant au MCP sur ASP.NET est très bien fait : "Developing Web
applications with VB.NET and VC#.NET" de MS Press.
La référence ISBN est 0-7356-1927-1.

Il y a de nombreux autres livres mais je ne pourrai pas trop t'en parler
puisque je n'en ai lu aucun autre.

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.


"cpeltier" a écrit dans le message de
news:
Succès à 100% ! merci.

PS :Quels ouvrages consulter pour éclairer ces notions ?

"Aurélien [MS]" a écrit :

Re-bonjour,

Ton problème est le suivant :
Lorsque tu cliques sur le bouton "BtnPlay", tu appelles une fonction
javascript client qui va "démarrer" la lecture de la musique en insérant
le
tag "<EMBED ...".
Un fois la fonction js terminée, ta page est soumise vers le serveur, et
est
donc rechargée.
Le tag "<EMBED... " que tu as ajouté dynamiquement est donc perdu et la
musique s'arrête.

Quand tu mets le alert() en place, tu ne sors pas de la fonction jscript
et
la page n'est pas rechargée tant que tu ne cliques pas sur "OK".

Pour éviter de soumettre ta page sur le serveur et ainsi perdre ta
musique,
tu peux remplacer dans ton Page_Load
Me.BtnPlay.Attributes.Add("onclick", "StartMusic();")
par
Me.BtnPlay.Attributes.Add("onclick", "StartMusic(); return
false;")

Ceci aura pour effet de ne pas soumettre la page vers le serveur.

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.



"cpeltier" a écrit dans le message
de
news:
> Bonjour,
>
> Je rencontre un comportement qui me paraît bizarre ..
>
> 1° Problème initial : insérer un lecteur de mp3 dans une page asp.net
>
> 2° Démarche suivie :
> a) coté serveur, créer une page music.js contenant deux fonctions
> startmusic et stopmusic
> function StartMusic()
> {
> var FichierMP3;
> var Dir;
> Dir="D:mp3";
> FichierMP3 = Dir + document.forms["Form1"].Catalogue.value;
> document.all.mediaplayer.innerHTML="<EMBED SRC='"+FichierMP3+"'
> HIDDEN='true' LOOP=0>";
> //alert()
> }
> Catalogue est une Dropdownlist.
>
> b) coté HTML de la page aspx insertion des balises
> <div id="mediaplayer">
> </div>
>
> c) coté vb.net au chargement de la page
> Dim sc As String = "<script language='javascript'
> src=music.js></script>"
> Page.RegisterClientScriptBlock("StartMusic", sc)
> Me.BtnPlay.Attributes.Add("onclick", "StartMusic();")
> Me.BtnStop.Attributes.Add("onclick", "StopMusic();")
>
> 3° La question ??
> Le code ne fonctionne que si l'appel alert() de startmusic n'est pas
> en
> commentaire.
> Le comportement est le suivant :
> sur BtnPlay, la musique est jouée, la fenêtre d'alerte présentée. dès
> que
> la
> fenêtre alert disparaît la musique cesse d'être jouée.
> Si l'appel à alert() est supprimé la musique n'est pas jouée ...
> (le media player est ouvert puis refermé immédiatement)
>
> Je sèche ...
>
> merci d'avance de vos réponses
>