Jouer un fichier wav sur multi-plateformes de pda

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 886 fois - Téléchargée 15 fois

Contenu du snippet

J'ai développé un outil de localisation Gps sur cartes scannées en Pocket PC 2003 SE.
(http://sites.google.com/site/randoloc/outil-randoloc) Ce programme fonctionne sur cette plateforme mais aussi sur Windows mobile 5, Windows Mobile 6 et sur PC(XP et Vista).Problème, les alarmes sonores ne fonctionnent pas sur Windows Mobile 6. Après bien des recherches voici ce que j'ai trouvé, qui est simple et qui marche
Préalables:
Les fichiers wav sont dans la carte d'extension du PDA dans un répertoire <Bureau>.Par exemple le fichier sonore d'une alarme à 300m du point ou on se trouve a pour adresse complète:
\Carte d'extension\Bureau\S300.wav
Pour jouer ce fichier, créer un module (voir Module Player )
Pour l'appeler il suffit d'écrire dans le programme les deux lignes données à la suite du Module

Source / Exemple :


Module Player
    Public Declare Function CreateProcess Lib "coredll" Alias "CreateProcessW" _
       (ByVal lpApplication As String, _
       ByVal lpCommandLine As String, _
       ByVal lpProcessAttributes As Long, _
       ByVal lpThreadAttribute As Long, _
       ByVal bInheritHandles As Long, _
       ByVal dwCreationFlags As Long, _
       ByVal lpEnvironment As Long, _
       ByVal lpCurrentDirectory As Long, _
       ByVal lpStartupInfo As Long, _
       ByVal lpProcessInformation As Long) As Boolean
End Module

'Attention les deux lignes qui suivent sont à mettre dans le programme.L'adresse du fichier son est celle de l'exemple , vous devez la remplacer par l'adresse complète de votre fichier wav
Dim wRetVal As Boolean
wRetVal=CreateProcess(\Windows\sndPlay.exe,"\Carte d'extension\Bureau\S300.wav",0,0,0,0,0,0,0,0)
'Vérifier qu'il y a 8 zéros
'Si vous appelez cette ligne vous devriez entendre le fichier wav et ceci quelle que soit la plateforme mobile que vous utilisez.

Conclusion :


Cela paraîtra peut être évident à certains mais je crois que ça peut aider beaucoup de débutants qui programment pour de multiples plateformes de PDA/Smarthones

A voir également

Ajouter un commentaire

Commentaires

Messages postés
3
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
10 octobre 2009

Bonjour

Voici une solution qui fonctionne en WM5, et qui n'affiche pas de lecteur.

Dim path As String
Dim player As New Media.SoundPlayer()

path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)

player.SoundLocation = path & "\fleche02.wav"

player.Load()
player.Play()
Messages postés
4
Date d'inscription
samedi 4 février 2006
Statut
Membre
Dernière intervention
16 mai 2008

C'est vrai que le petit icône "sndplayer" s'affiche au milieu de l'écran, je n'ai pas encore trouvé pour l'enlever mais comme j'utilise le PDA en mode veille (il est dans ma poche)quand j'utilise la fonction, pour moi il n'est pas gênant ( je ne le vois pas...)et disparaît tout seul quand j'allume le PDA et que je clique sur l'écran.
Si tu trouves qq chose dis le moi.

Merci daniel
Messages postés
3
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
10 octobre 2009

Bonjour
Le code fonctionne bien, mais le lecteur "sndPlay" s'affiche !
Comment faire pour que le lecteur ne s'affiche pas, mais que le son wav fonctionne ?

Merci Dibab

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.