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

Lecture fichier mpeg

16 réponses
Avatar
Noegor
Bonsoir,
J'essaie de développer un petit dossier amusant dans lequel pour chaque jour
du calendrier j'affiche une photo, j'écoute de la musique ou je visionne un
petit film.
Pour la manipulation des images, grâce à JB ça fonctionne à merveille. Pour
la musique merci à MP, c'est exactement ce qu'il me fallait. Mais pour le
film, je n'ai rien trouvé!... en désepoir de cause j'ai tenté d'utliser la
macro de Denis Michon qui lance le lecteur média par défaut. J'arrive à voir
le film jusqu'au bout, mais ça se termine mal!.. Je suis tout près du
but...Il suffirait de quelques lignes de code mais j'en suis encore bien
incapable...
D'avance merci.
Noégor

10 réponses

1 2
Avatar
michdenis
Bonjour Noegor,

| J'arrive à voir le film jusqu'au bout, mais ça se termine mal!..

Tu n'aimes pas la fin de l'histoire de ton film ?
Le projecteur s'arrête au mauvais moment ?
;-)

Ton problème est de quelle nature ?
Quel est le bout de code que tu utilises ?
Quelles sont tes attentes ?


Salutations!


"Noegor" a écrit dans le message de news: OVsu$
Bonsoir,
J'essaie de développer un petit dossier amusant dans lequel pour chaque jour
du calendrier j'affiche une photo, j'écoute de la musique ou je visionne un
petit film.
Pour la manipulation des images, grâce à JB ça fonctionne à merveille. Pour
la musique merci à MP, c'est exactement ce qu'il me fallait. Mais pour le
film, je n'ai rien trouvé!... en désepoir de cause j'ai tenté d'utliser la
macro de Denis Michon qui lance le lecteur média par défaut. J'arrive à voir
le film jusqu'au bout, mais ça se termine mal!.. Je suis tout près du
but...Il suffirait de quelques lignes de code mais j'en suis encore bien
incapable...
D'avance merci.
Noégor
Avatar
Michel Pierron
Bonsoir Noegor;
Pourquoi ne pas intégrer directement le composant Windows Media Player dans
un UserForm; ça devrait le faire non ?

MP

"Noegor" a écrit dans le message de news:
OVsu$
Bonsoir,
J'essaie de développer un petit dossier amusant dans lequel pour chaque
jour

du calendrier j'affiche une photo, j'écoute de la musique ou je visionne
un

petit film.
Pour la manipulation des images, grâce à JB ça fonctionne à merveille.
Pour

la musique merci à MP, c'est exactement ce qu'il me fallait. Mais pour le
film, je n'ai rien trouvé!... en désepoir de cause j'ai tenté d'utliser la
macro de Denis Michon qui lance le lecteur média par défaut. J'arrive à
voir

le film jusqu'au bout, mais ça se termine mal!.. Je suis tout près du
but...Il suffirait de quelques lignes de code mais j'en suis encore bien
incapable...
D'avance merci.
Noégor




Avatar
Noegor
Bonsoir Michel,
Effectivement le film se termine mal...voici le code que j'utilise.
Avant de répondre, je viens de tester et finalement l'image du Média Player
s'affiche avec le nom du fichier, l'image clignote puis flash et le
programme se termine sans visionner le film, mais l'image de l'écran du
média palyer reste affichée.
En fait ce que je voudrais c'est que le média player s'affiche, visionne le
film puis se déinstalle sans laisser de trace...
Voici le code que j'utilise.

-------------------Programme principal
.....
Range("H3").Select
If DiapSujet = "Film" Then
Call FilmPlayer
End If
If DiapSujet = "Musique" Then
Call PlayOn
End If
......
------------------------------------------
Sous programme :

Private Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Long

Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000

Sub FilmPlayer()
With ActiveSheet.OLEObjects.Add _
(Filename:="E:Mes DocumentsAnniversairesaucland45.mpeg", _
Link:úlse, DisplayAsIcon:úlse)
SendKeys "%O"
'La commande SendKeys "%O" n'est peut être pas obligatoire... cela dépend
du lecteur par défaut de la machine
.Verb Verb:=xlPrimary
.Name = "monFilm"
End With
End Sub

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

| J'arrive à voir le film jusqu'au bout, mais ça se termine mal!..

Tu n'aimes pas la fin de l'histoire de ton film ?
Le projecteur s'arrête au mauvais moment ?
;-)

Ton problème est de quelle nature ?
Quel est le bout de code que tu utilises ?
Quelles sont tes attentes ?


Salutations!


"Noegor" a écrit dans le message de news:
OVsu$

Bonsoir,
J'essaie de développer un petit dossier amusant dans lequel pour chaque
jour

du calendrier j'affiche une photo, j'écoute de la musique ou je visionne
un

petit film.
Pour la manipulation des images, grâce à JB ça fonctionne à merveille.
Pour

la musique merci à MP, c'est exactement ce qu'il me fallait. Mais pour le
film, je n'ai rien trouvé!... en désepoir de cause j'ai tenté d'utliser la
macro de Denis Michon qui lance le lecteur média par défaut. J'arrive à
voir

le film jusqu'au bout, mais ça se termine mal!.. Je suis tout près du
but...Il suffirait de quelques lignes de code mais j'en suis encore bien
incapable...
D'avance merci.
Noégor





Avatar
Noegor
Bonsoir Michel,
C'est certainement une piste, mais comment faire?
Je ne sais vraiment pas comment m'y prendre...
Je n'ai pas trouvé d'équivalent si ce n'est votre macro pour la
musique...j'ai le sentiment que la solution est proche encore faut-il savoir
et je ne sais pas...
Merci de votre aide
Noégor
"Michel Pierron" a écrit dans le message de
news:
Bonsoir Noegor;
Pourquoi ne pas intégrer directement le composant Windows Media Player
dans

un UserForm; ça devrait le faire non ?

MP

"Noegor" a écrit dans le message de news:
OVsu$
Bonsoir,
J'essaie de développer un petit dossier amusant dans lequel pour chaque
jour

du calendrier j'affiche une photo, j'écoute de la musique ou je visionne
un

petit film.
Pour la manipulation des images, grâce à JB ça fonctionne à merveille.
Pour

la musique merci à MP, c'est exactement ce qu'il me fallait. Mais pour
le


film, je n'ai rien trouvé!... en désepoir de cause j'ai tenté d'utliser
la


macro de Denis Michon qui lance le lecteur média par défaut. J'arrive à
voir

le film jusqu'au bout, mais ça se termine mal!.. Je suis tout près du
but...Il suffirait de quelques lignes de code mais j'en suis encore bien
incapable...
D'avance merci.
Noégor








Avatar
Noegor
Millessss excuses à MichDenis que j'ai nommé Michel dans la réponse qui lui
était destinée.
A+
Noégor
"michdenis" a écrit dans le message de
news:
Bonjour Noegor,

| J'arrive à voir le film jusqu'au bout, mais ça se termine mal!..

Tu n'aimes pas la fin de l'histoire de ton film ?
Le projecteur s'arrête au mauvais moment ?
;-)

Ton problème est de quelle nature ?
Quel est le bout de code que tu utilises ?
Quelles sont tes attentes ?


Salutations!


"Noegor" a écrit dans le message de news:
OVsu$

Bonsoir,
J'essaie de développer un petit dossier amusant dans lequel pour chaque
jour

du calendrier j'affiche une photo, j'écoute de la musique ou je visionne
un

petit film.
Pour la manipulation des images, grâce à JB ça fonctionne à merveille.
Pour

la musique merci à MP, c'est exactement ce qu'il me fallait. Mais pour le
film, je n'ai rien trouvé!... en désepoir de cause j'ai tenté d'utliser la
macro de Denis Michon qui lance le lecteur média par défaut. J'arrive à
voir

le film jusqu'au bout, mais ça se termine mal!.. Je suis tout près du
but...Il suffirait de quelques lignes de code mais j'en suis encore bien
incapable...
D'avance merci.
Noégor





Avatar
Michel Pierron
Bonjour Noegor;
Tu peux démarrer avec ça; pour te simplifier la vie, les contrôles sont
créés au lancement de l'UserForm, mais tu peux simplifier ultérieurement en
fixant les contrôles.
Dans un classeur, insert un UserForm et ajoute une référence à Windows Media
Player (wmp.dll), puis copie le code ci-dessous dans le module de ton
UserForm:

Option Explicit
Private Declare Function FindExecutable& Lib _
"shell32.dll" Alias "FindExecutableA" (ByVal lpFile$ _
, ByVal lpDirectory$, ByVal lpResult$)
Private WithEvents Cmd1 As MSForms.CommandButton
Private WithEvents Tbx1 As MSForms.TextBox
Private WithEvents Wmp1 As WindowsMediaPlayer

Private Function WMP(ByVal sFile$) As Boolean
If Dir(sFile) = "" Or sFile = "" Then Exit Function
Dim i&, Buffer$: Buffer = String(260, 32)
i = FindExecutable(sFile, vbNullString, Buffer)
If i < 33 Then Exit Function
WMP = (Dir(Left$(Buffer, InStr(Buffer, Chr$(0)) - 1)) = "wmplayer.exe")
End Function

Private Sub Cmd1_Click() ' Browse for media file
Dim f$: f = Application.GetOpenFilename
If Len(f) < 8 Then GoTo 1
Tbx1.Text = f
1: AppActivate Me.Caption
End Sub

Private Sub Tbx1_Change()
If Not WMP(Tbx1) Then Exit Sub
Wmp1.Close: Wmp1.URL = Tbx1
End Sub

Private Sub UserForm_Initialize()
Me.Caption = "Windows Media Player"
Me.Width = 244: Me.Height = 252
Set Tbx1 = Me.Controls.Add("Forms.TextBox.1", "Tbx1", False)
Tbx1.Text = Application.DefaultFilePath
Set Wmp1 = Me.Controls.Add("WMPlayer.OCX.7", "Wmp1", True)
With Wmp1
.Left = 0: .Top = 0
.Width = Me.InsideWidth
.Height = Me.InsideHeight
End With
Set Cmd1 = Me.Controls.Add("Forms.CommandButton.1", "Cmd1", True)
With Cmd1
.Width = 36: .Left = Me.InsideWidth - 40
.Height = 18: .Top = Me.InsideHeight - 22
.BackStyle = 0: .Caption = "Browse": .ZOrder 0
.ControlTipText = "Click for select media file !"
End With
End Sub

Private Sub UserForm_QueryClose(Cancel%, CloseMode%)
Set Cmd1 = Nothing: Set Tbx1 = Nothing:: Set Wmp1 = Nothing
End Sub

Private Sub Wmp1_PlayStateChange(ByVal NewState As Long)
If NewState = 1 Then Wmp1.Close: Exit Sub
If NewState = 3 Then
Dim h!: h = Me.Height - Me.InsideHeight
Dim w!: w = Me.Width - Me.InsideWidth
Me.Height = Wmp1.Height + h: Me.Width = Wmp1.Width + w
Cmd1.Left = Me.InsideWidth - 40
Cmd1.Top = Me.InsideHeight - 22
End If
End Sub

La fonction API FindExecutable vérifie que le fichier sélectionné est bien
exécuté par wmplayer et si oui, c'est parti; l'userform est automatiquement
redimensionné en fonction de la taille du contrôle WindowsMediaPlayer.
NB: Je n'ai pas testé avec des divx (à voir).

MP

"Noegor" a écrit dans le message de news:
OVsu$
Bonsoir,
J'essaie de développer un petit dossier amusant dans lequel pour chaque
jour

du calendrier j'affiche une photo, j'écoute de la musique ou je visionne
un

petit film.
Pour la manipulation des images, grâce à JB ça fonctionne à merveille.
Pour

la musique merci à MP, c'est exactement ce qu'il me fallait. Mais pour le
film, je n'ai rien trouvé!... en désepoir de cause j'ai tenté d'utliser la
macro de Denis Michon qui lance le lecteur média par défaut. J'arrive à
voir

le film jusqu'au bout, mais ça se termine mal!.. Je suis tout près du
but...Il suffirait de quelques lignes de code mais j'en suis encore bien
incapable...
D'avance merci.
Noégor




Avatar
Michel Pierron
Re Noegor;
Tu peux aussi utiliser un truc très simple en appellant la procédure
ci-dessous avec le nom complet du fichier à lire:

Sub VideoPlay(sFile$)
If Len(Dir(sFile)) Then Exit Sub
CreateObject("WMPlayer.OCX").openPlayer File
End Sub

MP

"Noegor" a écrit dans le message de news:
OVsu$
Bonsoir,
J'essaie de développer un petit dossier amusant dans lequel pour chaque
jour

du calendrier j'affiche une photo, j'écoute de la musique ou je visionne
un

petit film.
Pour la manipulation des images, grâce à JB ça fonctionne à merveille.
Pour

la musique merci à MP, c'est exactement ce qu'il me fallait. Mais pour le
film, je n'ai rien trouvé!... en désepoir de cause j'ai tenté d'utliser la
macro de Denis Michon qui lance le lecteur média par défaut. J'arrive à
voir

le film jusqu'au bout, mais ça se termine mal!.. Je suis tout près du
but...Il suffirait de quelques lignes de code mais j'en suis encore bien
incapable...
D'avance merci.
Noégor




Avatar
Modeste
Bonsour® Michel Pierron avec ferveur ;o))) vous nous disiez :

Tu peux aussi utiliser un truc très simple en appellant la procédure
ci-dessous avec le nom complet du fichier à lire:
Sub VideoPlay(sFile$)
If Len(Dir(sFile)) Then Exit Sub
CreateObject("WMPlayer.OCX").openPlayer sFile
End Sub


Whouai...... !!!!!

mais comment passer les autres parametres :
- n'afficher que la vidéo,
- lecture en boucle ou nombre de boucle
- vitesse de lecture



--
;o)))
@+

Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI

n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr

Avatar
Michel Pierron
Bonjour Modeste;
Si tu souhaites utiliser tous ces paramètres, tu as la possibilité
d'emballer le composant WindowsMediaPlayer dans une application Internet
Explorer (la vitesse de lecture étant un paramètre intrinsèque du fichier
lu, il ne me paraît pas souhaitable de le modifier, mais bon...). Il vaut
mieux placer le composant WindowsMediaPlayer dans une fenêtre afin de
pouvoir fermer l'application secondaire quand on le désire sans devoir
fermer Excel.

Sub WinMediaPlayer()
Const sFile$ = "Ici le chemin complet du fichier multimedia"
With CreateObject("InternetExplorer.Application")
.MenuBar = 0: .Toolbar = 0: .AddressBar = 0
.StatusBar = 0: .Width = 350: .Height = 278
.Left = 96: .Top = 150: .Navigate "about:blank"
.Resizable = True
.document.Title = Dir(sFile)
.document.WriteLn "<html>"
.document.WriteLn "<head><title>Windows Media Player</title></head>"
.document.WriteLn "<body>"
.document.WriteLn "<OBJECT id=""VIDEO"" width=""320"" height=""240"""
.document.WriteLn "style=""position:absolute; left:0;top:0;"""
.document.WriteLn "CLASSID=""CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"""
.document.WriteLn "type=""application/x-oleobject"">"
.document.WriteLn "<PARAM NAME=""URL"" VALUE=""" & sFile & """>"
.document.WriteLn "<PARAM NAME=""SendPlayStateChangeEvents""
VALUE=""True"">"
.document.WriteLn "<PARAM NAME=""AutoStart"" VALUE=""True"">"
.document.WriteLn "<PARAM name=""uiMode"" value=""full"">"
.document.WriteLn "<PARAM NAME=""showControls"" VALUE=""1"">"
.document.WriteLn "<PARAM name=""PlayCount"" value=""1"">"
.document.WriteLn "</OBJECT></body></html>"
.Visible = True
End With
End Sub

Pour n'afficher que la vidéo, mettre le paramètre uiMode à "none"
Pour la boucle de lecture, modifier le paramètre PlayCount
Pour la vitesse, il faut introduire le paramètre Rate avec son paramètre
value:
1.0 pour vitesse normale
0.5 pour une vitesse 2 fois moindre
2.0 pour 2 fois plus vite, etc.

A+
MP

"Modeste" a écrit dans le message de news:

Bonsour® Michel Pierron avec ferveur ;o))) vous nous disiez :

Tu peux aussi utiliser un truc très simple en appellant la procédure
ci-dessous avec le nom complet du fichier à lire:
Sub VideoPlay(sFile$)
If Len(Dir(sFile)) Then Exit Sub
CreateObject("WMPlayer.OCX").openPlayer sFile
End Sub


Whouai...... !!!!!

mais comment passer les autres parametres :
- n'afficher que la vidéo,
- lecture en boucle ou nombre de boucle
- vitesse de lecture



--
;o)))
@+

Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI

n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr





Avatar
Modeste
Bonsour® Michel Pierron avec ferveur ;o))) vous nous disiez :

Il vaut mieux placer le composant WindowsMediaPlayer dans une fenêtre afin
de
pouvoir fermer l'application secondaire quand on le désire sans devoir
fermer Excel.


Un grand merci Michel, c'était surtout pour ma culture...

Pour le fun, j'essaie tout ce qui est média à partir d'EXCEL.

en fait j'ai un souci similaire avec MCI pour lire un .MID en boucle
ou alors tester qu'il est fini ...

Public FileToPlay As String
Public Alias As String
Private Declare Function mciSendString Lib "winmm.dll" Alias
"mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As
String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Sub play_it()
'KPD-Team 1998 URL: http://www.allapi.net/
filetoplay = Application.GetOpenFilename("Midi-files (*.mid),*.mid")
If filetoplay <> False Then
'FileToPlay = "mid" & Int(Rnd() * 6) & ".mid"
Alias = Left$(FileToPlay, Len(FileToPlay) - 4)
R% = mciSendString("OPEN " + FileToPlay + " TYPE SEQUENCER ALIAS " +
Alias, 0&, 0, 0)
R% = mciSendString("PLAY " + Alias + " FROM 0", 0&, 0, 0)
R% = mciSendString("CLOSE ANIMATION", 0&, 0, 0)
End if
End Sub

Sub Stop_It()
On Error GoTo fini
Alias = Left$(FileToPlay, Len(FileToPlay) - 4)
R% = mciSendString("OPEN " + FileToPlay + " TYPE SEQUENCER ALIAS " +
Alias, 0&, 0, 0)
R% = mciSendString&("STOP " + Alias, 0&, 0, 0)
R% = mciSendString&("CLOSE ANIMATION", 0&, 0, 0)
fini:
End Sub

;o)))


--
;o)))
@+

Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI

n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr

1 2