Pages

Affichage des articles dont le libellé est Musique. Afficher tous les articles
Affichage des articles dont le libellé est Musique. Afficher tous les articles

[API HTML5] Lecteur de musique en html5 et liste de lecture sous Safari mobile sujet

jeudi 27 mars 2014




Bonsoir!

Depuis quelques temps déjà, je developpe un lecteur de musique en html5 avec une liste de lecture.

Toute les secondes le temps restant de la musique en cours de lecture est mise à jour avec setInterval().

Avec audio.currenttime et audio.duration, ma fonction afftemps() affiche donc le temps restant.
Mais en plus, cette fonction, avec un simple IF vérifie si le temps restant n'est pas inferieur à 4 seconde.
Si c'est le cas, il lance la fonction suivant().
Celle-ci met à jour ma liste de lecture et lance la fonction lecture() qui elle lance le son en cours(elle se termine donc par un l'événement audio.play()).

Sous firefox, android, chrome: pas de probléme, les musiques s'enchaînent selon l'ordre établie.
(je n'ai pas encore tester sous ie... Et cela me fait peur, je l'avoue!)


Mais sous ipad.... Aïe! Galére, cela ne fonctionne pas! J'ai bien vérifié: sous ipad, il enchaîne bien les événements ci-dessus (afftemps()->suivant()->lecture()), il les lance tous, mais ignore audio.play()! (j'ai vérifié ceci avec un alert(nimportequoi) pour voir jusqu'où il allait)

J'ai lue plusieurs fois, que l'autoplay ne fonctionne pas sois safari mobile. Je crois aussi qu'il empêche audio.play() si il n'est lancé à partir d'un clic de souris ou de n'importe quelle intéraction du moment qu'elle provienne de l'utilisateur. Non?

Est-ce-que qqn connaît une astuce pour palier à ce probléme?

J'ai vu des scripts pour simuler un clic de souris: un code vérifiant si l'utilisateur touche l'écran. Cependant, ce n'est pas l'idéal pour moi, car je voudrais que les musiques s enchaînent sans que l'auditeur touche quoique ce soit.

J'avoue que je suis bloqué depuis un moment la dessus, j'ai cherché un peu partout sur le web, mais je ne trouve pas de solution.

J'espére avoir été clair dans mes explications, et si vous avez des pistes à me proposer, je suis preneur!


Et dans tous les cas je vous remercie par avance d'avoir prêter un peu d'attention à mon soucis!

Bonne soirée (bonne nuit je veux dire à cette heure ci)




[API HTML5] lecteur de musique en html5 et liste de lecture - probléme sous safari mobile sujet

mercredi 26 mars 2014




Bonsoir!

Depuis quelques temps déjà, je developpe un lecteur de musique en html5 avec une liste de lecture.

Toute les secondes le temps restant de la musique en cours de lecture est mise à jour avec setInterval().

Avec audio.currenttime et audio.duration, ma fonction afftemps() affiche donc le temps restant.
Mais en plus, cette fonction, avec un simple IF vérifie si le temps restant n'est pas inferieur à 4 seconde.
Si c'est le cas, il lance la fonction suivant().
Celle-ci met à jour ma liste de lecture et lance la fonction lecture() qui elle lance le son en cours(elle se termine donc par un l'événement audio.play()).

Sous firefox, android, chrome: pas de probléme, les musiques s'enchaînent selon l'ordre établie.
(je n'ai pas encore tester sous ie... Et cela me fait peur, je l'avoue!)


Mais sous ipad.... Aïe! Galére, cela ne fonctionne pas! J'ai bien vérifié: sous ipad, il enchaîne bien les événements ci-dessus (afftemps()->suivant()->lecture()), il les lance tous, mais ignore audio.play()! (j'ai vérifié ceci avec un alert(nimportequoi) pour voir jusqu'où il allait)

J'ai lue plusieurs fois, que l'autoplay ne fonctionne pas sois safari mobile. Je crois aussi qu'il empêche audio.play() si il n'est lancé à partir d'un clic de souris ou de n'importe quelle intéraction du moment qu'elle provienne de l'utilisateur. Non?

Est-ce-que qqn connaît une astuce pour palier à ce probléme?

J'ai vu des scripts pour simuler un clic de souris: un code vérifiant si l'utilisateur touche l'écran. Cependant, ce n'est pas l'idéal pour moi, car je voudrais que les musiques s enchaînent sans que l'auditeur touche quoique ce soit.

J'avoue que je suis bloqué depuis un moment la dessus, j'ai cherché un peu partout sur le web, mais je ne trouve pas de solution.

J'espére avoir été clair dans mes explications, et si vous avez des pistes à me proposer, je suis preneur!


Et dans tous les cas je vous remercie par avance d'avoir prêter un peu d'attention à mon soucis!

Bonne soirée (bonne nuit je veux dire à cette heure ci)




Jouer de la musique avec VBA sujet

jeudi 30 janvier 2014




Bonjour à tous

J'ai longuement cherché sur internet mais je n'arrive pas à résoudre mon problème. Je cherche à jouer de la musique avec VBA. J'avais cru comprendre que c'était possible avec la LiB winmm.dll


Code:


Private Declare Function midiOutOpen Lib “winmm.dll” _
    (lphMidiOut As Long, _
    ByVal uDeviceID As Long, _
    ByVal dwCallback As Long, _
    ByVal dwInstance As Long, _
    ByVal dwFlags As Long) As Long
 
Private Declare Function midiOutClose Lib “winmm.dll” _
    (ByVal hMidiOut As Long) As Long
 
Private Declare Function midiOutShortMsg Lib “winmm.dll” _
    (ByVal hMidiOut As Long, _
    ByVal dwMsg As Long) As Long


J'ai essayé différents programmes comme celui ci:
http://dailydoseofexcel.com/archives...enbach/page/2/

Le programme tourne mais il y a aucun son. J'ai essayé avec un autre programme "Samba" (trouvé ici: http://www.generation-nt.com/reponse...221.html?tri=p). Ce programme a fonctionné 2 fois par intermittence mais ne fonctionne plus non plus depuis.


Code:


Private Type MIDIOUTCAPS
wMid As Integer
wPid As Integer
vDriverVersion As Long
szPname As String * 32
wTechnology As Integer
wVoices As Integer
wNotes As Integer
wChannelMask As Integer
dwSupport As Long
End Type
Private Declare Function midiOutGetDevCaps Lib _
"winmm.dll" Alias "midiOutGetDevCapsA" (ByVal uDeviceID _
As Long, lpCaps As MIDIOUTCAPS, ByVal uSize As Long) As Long
Private Declare Function midiOutGetNumDevs Lib "winmm" () As Integer

Private Declare Function MidiOutClose Lib "winmm.dll" _
Alias "midiOutClose" (ByVal hMidiOut As Long) As Long
'-------------------------------
Private Declare Function MidiOutOpen Lib "winmm.dll" _
Alias "midiOutOpen" (lphMidiOut As _
Long, ByVal uDeviceID As _
Long, ByVal dwCallback As _
Long, ByVal dwInstance As _
Long, ByVal dwFlags As Long) As Long
'-------------------------------
Private Declare Function MidiOutShortMsg Lib "winmm.dll" _
Alias "midiOutShortMsg" (ByVal hMidiOut As _
Long, ByVal dwMsg As Long) As Long
'---------------------------------------------------
Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long)
Dim hMidiOut As Long
Public lanote As Integer

Sub samba()
'----- proc originale de Sitting Hoax MPFE
batterie = Array(48, 47, 56, 55)
Randomize
Application.EnableCancelKey = xlErrorHandler
On Error GoTo fin
For i = 1 To 250
Randomize
x = batterie(Int(Rnd * 4))
MidiOutClose hMidiOut
MidiOutOpen hMidiOut, 0, 1, 2, 0
xxx = CInt(x)
For z = 1 To 15
On Error GoTo fin
Randomize
MidiOutShortMsg hMidiOut, RGB(153, xxx, 127)
Sleep (Rnd * 150 + 70)
Next
Sleep (150)
For z = 1 To 10
For u = 1 To 5
Randomize
x = batterie(Int(Rnd * 4))
xxx = CInt(x)
MidiOutShortMsg hMidiOut, RGB(153, xxx, 127)
MidiOutShortMsg hMidiOut, RGB(153, xxx + 1, 127)
MidiOutShortMsg hMidiOut, RGB(153, xxx + 30, 127)
MidiOutShortMsg hMidiOut, RGB(153, xxx + 6, 127)
Sleep (100)
Next
Randomize
x = batterie(Int(Rnd * 4))
xxx = CInt(x)
MidiOutShortMsg hMidiOut, RGB(153, xxx, 127)
MidiOutShortMsg hMidiOut, RGB(153, xxx + 1, 127)
MidiOutShortMsg hMidiOut, RGB(153, xxx + 20, 127)
MidiOutShortMsg hMidiOut, RGB(153, xxx + 6, 127)
Sleep (Rnd * 200)
Next
For z = 1 To 10
Randomize
x = batterie(Int(Rnd * 4))
xxx = CInt(x)
MidiOutShortMsg hMidiOut, RGB(153, xxx, 127)
MidiOutShortMsg hMidiOut, RGB(153, xxx + 1, 127)
MidiOutShortMsg hMidiOut, RGB(153, xxx + 15, 127)
MidiOutShortMsg hMidiOut, RGB(153, xxx + 6, 127)
Sleep (100)
Next
Next
fin:
MidiOutClose hMidiOut
End Sub



Je ne comprend pas d'ou vient le problème

Merci d'avance