Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre du Club
    probleme de lecture d'un memo vocal effetué sous android dans windev
    Bonjour a toutes et tous.
    en résumé, je crée un enregistrement vocal sous android en windev mobile que je stocke dans une rubrique mémo d'une table HFSQL locale.
    Je transfère les données de ma table HFSQL locale vers une table HFSQL C/S
    Dans windev j extrait le memo correspondant mais impossible d'obtenir le fichier son alors que si je tente de lire le memo vocal a partir de HFSQL C/S dans windev mobile ca marche nickel.
    siteAuditlocal est la table HFSQL local
    siteAuditsrv est la table HFSQL C/S

    CODE WINDEV MOBILE :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    MagnetoAction(magnetoEnregistre,sFicvocal)
     
    ToastAffiche("vous pouvez commencer l'enregistrement du mémo vocal")
    HAttacheMémo(siteAuditlocal,Pointfaible,sFicvocal,hMémoWav)
    HModifie(siteAuditlocal,hNumEnrEnCours)


    CODE WINDEV MOBILE POUR RELIRE LE MEMO sur HFSQL C/S
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    HLitPremier(siteAuditsrv)
    SI HTrouve(siteAuditsrv) = Vrai ALORS
    	Info(HInfoMémo(<hr />,Pointfaible))
    	Info("avant lecture enregistrement " + siteAuditsrv.IDsiteAuditlocal)
    	HExtraitMémo(siteAuditsrv,Pointfaible,"enregistrement12.wav")
    	Info(fTaille("enregistrement12.wav"))
    	MagnetoAction(magnetoJoue,"enregistrement12.wav")
    FIN

    et ca fonctionne nickel

    CODE WINDEV
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    HLitRecherche(siteAuditsrv,IDsiteAuditlocal,gnIDaudit)
    SI HTrouve(siteAuditsrv) ALORS
    	SI HExtraitMémo(siteAuditsrv,Pointfaible,"c:\temp\enregistrement22.wav") = Vrai ALORS
    		Info(fTaille("c:\temp\enregistrement22.wav"))
    		MultimédiaJoue(MM_memo,"c:\temp\enregistrement22.wav")
    		LanceAppliAssociée("c:\temp\enregistrement22.wav")
    	FIN
    FIN


    a titre d'info ma proc de sauvergarde de windev mobile vers windev ;

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    POUR TOUT siteAuditlocal 
    		ListeDesRubriques est une chaîne
    		ListeDesRubriques = HListeRubrique(siteAuditlocal)
    		POUR TOUTE CHAÎNE sUnerubrique DE ListeDesRubriques SEPAREE PAR RC
    			{"siteAuditsrv."   + sUnerubrique,indRubrique} = {"siteAuditlocal." + sUnerubrique,indRubrique}
    		FIN
    		siteAuditsrv.Faitle = DateSys()
    		HAjoute(siteAuditsrv,hEcritureDéfaut)
    FIN


    merci pour votre aide. J'ai essayé aussi un utilisant un buffer mais rien n'y fait.

  2. #2
    Expert éminent
    Bonjour,

    2-3 ides qui me viennent :
    - pour ta sauvegarde, plutôt que d'utiliser une boucle POUR TOUT, tu aurais pu utiliser un hcopieenreg(). Mais, là n'est pas ton problème...
    - tu utilises MultimédiaJoue dans l'autre. As-tu in champ Multimedia dans ta fenêtre de lecture ? Il faut un MultimédiaOuvre quelque part, non ?
    - tu utilises HlitRecherche(), il est à éviter. Il vaut mieux utiliser HlitRecherchePremier().
    - tu fais un MultimédiaJoue et après un LanceAppliAssociée(), pour la même action.
    - Lorsque j'ai un souci comme le tien, je m'attache à tester tous les cas :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    HLitRecherche(siteAuditsrv,IDsiteAuditlocal,gnIDaudit)
    SI HTrouve(siteAuditsrv) ALORS
    	SI HExtraitMémo(siteAuditsrv,Pointfaible,"c:\temp\enregistrement22.wav") = Vrai ALORS
    		Info(fTaille("c:\temp\enregistrement22.wav"))
    		SI PAS MultimédiaJoue(MM_memo,"c:\temp\enregistrement22.wav") ALORS
    			avertissement("Pb lecture", erreurinfo())
    		FIN
    		// LanceAppliAssociée("c:\temp\enregistrement22.wav")
    	SINON
    		avertissement("Pb extraction mémo", herreurinfo())
    	FIN
    SINON
    	avertissement("Pb recherche", herreurinfo())
    FIN
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Make it real not fantasy.

  3. #3
    Membre du Club
    Bonjour,

    merci pour ta réponse.

    Depuis pour la sauvegarde j'ai utilisé hcopieenreg. quant à tes autres remarques elles sont judicieuses .

    J ai bien un champ multimédia.

    le souci est que lorsque j accede au fichier wav dans le répertoire, windows média me donne une erreur :
    Le Lecteur Windows Media ne peut pas lire le fichier. Il est possible que le lecteur ne prenne pas en charge le type du fichier ou le codec utilisé pour la compression de ce dernier.
    J ai tenté d ouvrir dans audacity aussi. le fichier n'est pas bon. Du coup je tourne en rond ! :-)

  4. #4
    Expert éminent
    Merci pour les remarques judicieuses.

    Je viens de remarquer ceci dans l'aide : MagnetoAction crée un fichier WAV sous Windows et IOS mais un fichier 3gp sous Android. Je suppose donc que ton terminal est sous Andoid. Il faut que tu convertisses ton fichier 3gp dans ton terminal Android ou avec ton appli Windev.

    J'avoue que je ne sais pas comment faire et comment cela peut se présenter sous Android. Sous Windows, c'est soit une appli complète soit une dll à utiliser, je pense.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Make it real not fantasy.

  5. #5
    Membre du Club
    bonjour.

    en effet tu as mis dans le mille ! du coup je sauvegarde mon audio en .gpp sous windev et j associe VLC a la lecture des gpp et ca marche nickel.

    merci encore !

  6. #6
    Membre du Club
    du coup ne me reste plus qu'a intégrer libvlc.dll dans mon appli pour avoir une interface un peu plus sympa que de lancer vlc

    Merci encore

  7. #7
    Expert éminent
    Bonjour,

    merci pour le retour.

    N'hésite pas à partager ton expérience quant à l'utilisation de cette dll.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Make it real not fantasy.

  8. #8
    Membre du Club
    psalut pour utiliser cette DLL j'utiliser le projet de jurassic pork :
    https://depot.pcsoft.fr/resource.awp?file_id=102;classe-clibvlc-videolan-pour-windev
    qui marche très bien.
    Perso je n'ai pas réussi a le faire fonctionner en 64 bit, d'ou l'utilisation de vlc en 32 bits.

    bon dev

  9. #9
    Expert éminent
    Je ne me rappelais plus que JP avait fait cette classe.

    Je ne suis pas surpris que cela ne fonctionne pas en 64 bits. Les versions 0.8 et 1 de VLC sont très anciennes (et pas prévues pour le 64 bits) : https://download.videolan.org/pub/vi...lan/vlc/1.0.0/
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Make it real not fantasy.

###raw>template_hook.ano_emploi###