Besoin de conseils pour VB2005

cs_raphdu01 Messages postés 6 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 10 décembre 2007 - 6 déc. 2007 à 17:55
cs_Gammacronosios Messages postés 49 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 23 février 2010 - 13 déc. 2007 à 08:21
Bonsoir

J'aimerai savoir s'il est possible de lire des
vidéos et des mp3 sur une application sans lancer d'autre programmes
tels que wmp...
J'ai passé quelques heures a parcourir des forums
mais rien a faire j'ai du trouver une dizaine de solutions que j'ai été
incapable de faire marcher donc si quelqu'un peut me venir en aide !!

Mon idée est de lancée en fond une musique pour accompagner un jeu de ma création... Et si c'est possible j'aimerai que l'utilisateur puisse l'arreter et la relancer

Et pour la video j'aimerai lancer une petite cinématique au demarrage de l'application...

Je ne sais pas quoi utiliser pour le code et je ne sais pas non plus avec quel objet on peut afficher la video...

Merci d'avance a+

12 réponses

cs_Gammacronosios Messages postés 49 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 23 février 2010
6 déc. 2007 à 18:46
Salut raphdu01


Je peux peut-être t'aider en te disant qu'il y a un composant windows media player que tu peux ajouter à ton projet (Il faur référencer WMPLib.dll). De cette façon tu n'apelles pas l'application wmp pour lire tes fichiers.

Aussi, tu peux te mettre au vb2008 (.net framework 3.1). Il possède un lecteur media semblable à wmp.

Il y encore une autre solution pour lire des fichiers audios.
Code :
My.Computer.Audio.Play(chemin du fichier)
(Mais ça ne lit que le format .wav)


Si l'une de ces solutions te convient, je peux te l'expliquer mieux en details...
A bientot !
0
cs_raphdu01 Messages postés 6 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 10 décembre 2007
6 déc. 2007 à 19:10
Salut Gammacronosios

Merci pour ta reponse rapide...

En effet ca m'aiderai beaucoup de savoir comment ca fonctionne avec Windows Media Player car j'ai lu quelques trucs dessus mais je n'ai vraiment rien compris...

Par contre je ne veux pas lire un fichier qui se trouve sur mon ordinateur mais plutot un fichier qui ferai partie de l'application (meme si il sera forcement sur l'ordi) pour pouvoir le lire quel que soit le PC ou j'utilise mon jeu..

Pour lire les fichiers wav je veux bien mais le probleme c'est que j'ai que des mp3 a lire...Donc a moins de pouvoir les convertir en wav ?!?

Et je prefere rester sur la version VBexpress2005 car c'est elle que j'utilise en cours.

Merci d'avance a+
0
cs_raphdu01 Messages postés 6 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 10 décembre 2007
6 déc. 2007 à 19:17
PS  : J'ai essayer avec My.Computer.Audio.Play(chemin du fichier) et j'ai cette erreur :

    L'API son prend uniquement en charge la lecture des fichiers son PCM.

alors que j'ai bien essayé de lire un fichier.wav ... Est ce normal ?

PS2 : on ne peut pas éditer ses messages sur ce forum j'ai pas trouvé (au risque de passer pour un c**)
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
6 déc. 2007 à 23:39
Salut,

Non..Seul les admin's ont les droits nécessaire pour supprimer les messages...les éditer je ne sais pas...mais les supprimer c'est sûr..

Bon dev

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Gammacronosios Messages postés 49 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 23 février 2010
7 déc. 2007 à 12:43
Re-bonjour raphdu01

Pour l'erreur :
- As-tu correctement renvoyer la totalité du chemin du fichier .wav ?
ex: My.Computer.Audio.Play("C:\WINDOWS\Media\Tada.wav")
- Est-ce réelement un fichier au format .wav ou as-tu renommé ton fichier .mp3 en .wav ?

Aussi, je ne sais plus où sur le site, il y a une source qui permet de convertir le .mp3 en .wav (LameEncoder) comme ça tu poura lire tes fichiers audios.

Pour le controle WMP, il ne lit QUE des fichiers ou liens ou cd ou dvd, mais pas les Streams (ou du moins je n'ai pas trouvé le moyen de le faire)

Bref, encore une fois, si le wmp te semble une bonne solution, je peux t'ecrire un projet d'exemple qui l'utilise.

Tu peux peut-être trouver ton bonheur avec cette source (je ne l'ai pas testé mais il a l'air simpled'utilisation):
http://www.vbfrance.com/codes/LECTEUR-MP3-WAV-SIMPLE_39948.aspx

Le mieux pour ce que tu cherche à faire, c'est d'ajouter tes fichiers audios (en .wav) dans les ressources de ton projet et de les lire en stream avec My.Computer.Audio
ex:
Si tu ajoutes un fichier audio .wav dans ton projet sous le nom de "FichierAudio" (sans l'extention !)
Code : My.Computer.Audio.Play(My.resources.FichierAudio)

Voila...
++
C'est un art la programmation, non
0
cs_raphdu01 Messages postés 6 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 10 décembre 2007
7 déc. 2007 à 19:32
Salut...

Des fois jme demande si j'ai pas un probleme de vb c'est souvent que ce qu'on me propose ca marche pas bizarre quand meme...

J'ai copié ton code My.Computer.Audio.Play(My.resources.FichierAudio) .. Seul (petit) problème ca me souligne la ligne et ca dit que FichierAudio ,'est pas membres de resources alors que j'ai bien copié un fichier.wav que j'ai nommé FichierAudio j'ai testé avec, sans extansion  pour voir mais rien a faire toujours le meme probleme...

Et pour le code source dont tu m'a donné le lien jpeut pas le faire marcher apparement il me faut vb6 donc tant pis...

La solution que j'utilise pour l'instant avec des wav qui marche tres bien c'est celle la :
  
     'Les fichiers sont placés dans le dossier bin/debug de mon projet..

    'Ca collé dans un module
    Public Const SND_ASYNC As Short = &H1S
    Public Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Integer) As Integer

    'Ca collé la ou jveux du son
    sndPlaySound("thunder.wav", SND_ASYNC)

Le seul probleme avec ce truc la c'est que j'y comprend rien du tout j'aurai voulu un truc simple et surtout pouvoir lire des mp3 mais je pense que jvais prendre l'option de convertir mes fichiers avec un tit prog....

Par contre est ce possible de repeter un son...Avec un code qui collerai a ce quej'ai fait...

Merci beaucoup

a+++
0
cs_raphdu01 Messages postés 6 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 10 décembre 2007
7 déc. 2007 à 20:19
Encore une question ! Et oui je ne peut pas me debrouiller tout seul !!

Dans mon programme j'utilise une police qui n'existe pas pour tout le monde donc le probleme quand je l'ouvre sur un pc qui ne possede pas ma police, VB me met une "vieille" police par defaut...

J'ai donc créé une fichier.bat qui contient ce texte :
COPY "OLDENGL.TTF" "C:\WINDOWS\Fonts"
qui permet d'ajouter la police dans le pc (ca marche pour XP mais sur vista aucune idée je ne sais pas ou sont stockées les polices)..

Je lance donc ce fichier.bat au chargement de mon premier formulaire(qui n'utilise pas la police) avec :
Shell(police.bat)

Mais lorsque je lance le deuxieme formulaire, je verifie si le fichier a bien été copié :
If Dir$("c:\Windows\fonts\OLDENGL.TTF") <> vbNullString Then
    'Changement de police pour mes objets

Je sais que le fichier a bien été copié mais la police n'est pas utilisée !

Par contre si je quitte l'application et que je la relance ca marche correctement...

Qu'est ce que je pourrait faire pour que ca marche du premier coup ?
0
cs_Gammacronosios Messages postés 49 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 23 février 2010
10 déc. 2007 à 18:53
Salur Raphdu01
Désolé pour l'attente, mais je n'ai pas souvent internet ^^...

Pour ce qui est de la police "OLDENGL.TTF", c'est que simplement, lorsque tu lances ton fichier .bat, ton application est DEJA lancée et n'a donc pas encore trouvé la police "OLDENGL.TTF" (normal puisqu'elle n'était pas encore copiée au démarrage). Ensuite la police est copiée. Enfin, au second démarrage, la police est copiée, et ton application peut l'utiliser !

Ce que je te propose, c'est qu'au lancement de ton application, tu lance ton fichier .bat avec *Shell, puis tu lances une nouvelle instance de ton application à partir de ton application. Je sais c'est zarb... mais ça marche !

En gros :

If la police n'existe pas Then
   Shell(police.bat) 'Lance ton fichier .bat
   Shell(chemin de ton application actuelle) 'Lance une nouvelle instance de ton application
   End 'Quitte l'application actuelle
End If

*Shell : Cette fonction ne fonctionne pas souvent. Utilise plutot System.Diagnostics.Process.Start(chemin du fichier)

Pour My.Computer.Audio :
Je vais t'ecrire un projet d'exemple utilisant ses fonctions, et un projet d'exemple avec wmp car je n'ai pas Visual Studio 2005 sous la main tout de suite...
C'est un art la programmation, non
0
cs_raphdu01 Messages postés 6 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 10 décembre 2007
10 déc. 2007 à 20:33
Re.. pas grave pour le retard j'ai rendu mon appli auj mais j'aime pas rester sur un echec...
en fait je vais t'expliquer ce que j'ai fait et ma logique par raport a ca

Form n°1

  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        'Procédure qui copie la police de caractère du jeu au cas ou elle n'éxiste pas

        shell(police.bat)

    End Sub

Form n°2

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

If Dir$("c:\Windows\fonts\OLDENGL.TTF") <> vbNullString Then
       'changment de police je sais plus le code je l'ai viré de mon projet ^^

    End Sub

Donc d'apres ce que je pensait dans le premier form je copie la police (donc du coup elle existe), je lance le deuxieme form, je regarde si elle existe (logiquement elle y est vu que jlai copiée et j'ai vérifié directement dans le dossier) et je l'affecte a tout mes objets... enfin bon pas grave !! de toute facon a cause de ce bout de code j'ai eu des gros bug et obligé de tout enlever...

Et pour le son c'est avec plaisir que je veux des explicationsmais rien ne presse !!

Merci beaucoup a+
0
cs_Gammacronosios Messages postés 49 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 23 février 2010
12 déc. 2007 à 12:05
C'est un art la programmation, non
0
cs_Gammacronosios Messages postés 49 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 23 février 2010
13 déc. 2007 à 08:21
C'est un art la programmation, non
0
cs_Gammacronosios Messages postés 49 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 23 février 2010
13 déc. 2007 à 08:21
C'est un art la programmation, non
0
Rejoignez-nous