IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

WinDev Discussion :

Naudio.dll, problème création d'un stream


Sujet :

WinDev

  1. #21
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    je ne sais comment tu fais la lecture et le stop du fichier audio mais moi je n'ai pas de problème, ça s'arrête normalement.
    Comme ceci :

    Code de déclaration
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    myAudioFile est un Mp3FileReader("C:\Users\Kyle\Downloads\Röyksopp & Robyn-Do It Again.mp3")
    myPCM est un WaveStream dynamique = WaveFormatConversionStream.CreatePcmStream(myAudioFile)
    myAudioStream est un BlockAlignReductionStream(myPCM)
    myWaveOutDevice est un WaveOut
    myWaveOutDevice.Init(myAudioStream)
    Code bouton play :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    myWaveOutDevice.PLay()
    Code bouton stop :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    myWaveOutDevice.Stop()

  2. #22
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    En faite, cela fait une pause et non un stop...

  3. #23
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 947
    Points : 9 275
    Points
    9 275
    Par défaut
    houla moi je fais pas tout à fait comme çà.

    code de la fenêtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myWaveOutDevice est un WaveOut
    pour jouer un fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Lire un fichier mp3 avec NAudio
    myAudioFileReader est un  Mp3FileReader("F:\test.mp3")
    myWaveOutDevice.Init(myAudioFileReader)
    myWaveOutDevice.PLay()
    arrêt :
    pourquoi tu passes par un wavestream ?
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  4. #24
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Je passe par un WaveStream car je souhaite afficher 2 jauges pour faire un vu metre G/D et j'ai cru voir qu'il fallait mettre en place un stream.

  5. #25
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Voici la vidéo dans laquelle il utilise un WaveStream pour les jauges.

    http://screencast.com/t/m13tSFGAG

  6. #26
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 947
    Points : 9 275
    Points
    9 275
    Par défaut
    Pour gérer des vu mètres il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // Lire un fichier mp3 avec NAudio
    fileName est une chaîne = "F:\test.mp3"
    sampleProvider est un ISampleProvider dynamique
    sampleProvider = CreateInputStream(fileName)
    myWaveProvider est un SampleToWaveProvider(sampleProvider)
    myWaveOutDevice.Init( myWaveProvider )
    myWaveOutDevice.PLay()
    avec la procédure CreateInputStream
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    PROCEDURE CreateInputStream(fileName est une chaîne)
    mySampleProvider est un ISampleProvider dynamique
    myAudioFileReader est un  Mp3FileReader(fileName)
    SampleChannel est un SampleChannel(myaudioFileReader, True)
    // déclaration de la procédure appelée à chaque événement StreamVolumeEvent
    SampleChannel.add_PreVolumeMeter(DotNetDélégué("ProcPreVolumeMeter","EventHandler<StreamVolumeEventArgs>"))
    RENVOYER SampleChannel
    et la procédure ProcPreVolumeMeter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    PROCEDURE ProcPreVolumeMeter(src est un SampleChannel , e est un StreamVolumeEventArgs)
    // volumeter1 et volumeter2 sont 2 champs .NET 2.0  Naudio.Gui.VolumeMeter
    volumeMeter1.Amplitude = e.MaxSampleValues[1]
    volumeMeter2.Amplitude = e.MaxSampleValues[2]
    pour l'enregistrement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // La source est "ce que vous entendez"
    waveSource = allouer un WasapiLoopbackCapture()
    //La source est un des périphériques de capture audio 
    //waveSource = allouer un WaveIn
    // choix du périphérique d'entrée ici 0
    //waveSource:DeviceNumber = 0
    // fréquence d'échantillonage 44100 hz , 2 canaux (stéréo)
    //waveSource:WaveFormat =  allouer un WaveFormat(44100,2)
    waveFile = allouer un WaveFileWriter("f:\record.wav",waveSource.WaveFormat)
    // gestions des événements
    waveSource.add_DataAvailable(DotNetDélégué("ProcDataAvailable","EventHandler<WaveInEventArgs>"))
    waveSource.add_RecordingStopped(DotNetDélégué("ProcRecordingStopped","EventHandler<StoppedEventArgs>"))
    // Début d'enregistrement
    waveSource.StartRecording()
    avec procédure ProcDataAvailable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PROCEDURE ProcDataAvailable(src est un WaveIn, e est un WaveInEventArgs)
    SI (waveFile <> Null) ALORS
    waveFile.Write(e.Buffer, 0, e.BytesRecorded);
    waveFile.Flush()
    FIN
    et la procédure ProcRecordingStopped :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    PROCEDURE ProcRecordingStopped(src est un WaveIn, e est un WaveInEventArgs)
    SI (waveSource <> Null) ALORS
    	waveSource.Dispose()
    	waveSource = Null
    FIN
     
    SI (waveFile <> Null) ALORS
    waveFile.Close()
    waveFile = Null;
    FIN
    Ne pas oublier le waveSource.StopRecording() pour arrêter l'enregistrement

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  7. #27
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Ouah ! Grand merci jurassic pork, je teste tout ça dès que je peux

    Petites questions :

    - Je dois donc utiliser des champs .net pour les jauges et non des jauges Windev ?

    - Ces jauges, peuvent-elles fonctionner en enregistrement ou seulement en lecture de fichier audio ?

    - Si les champs jauges .net sont dispo sous windev est-ce aussi possible d'avoir le champ waveform ?

    Merci encore pour ton aide.

  8. #28
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    486
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 486
    Points : 875
    Points
    875
    Par défaut
    Pour pouvoir dessiner le wave form il faut décoder au préalable en mémoire le Stream audio avant de commencer à le jouer.

    Voici le principe a utiliser avec Bass.dll (code écrit en BASIC)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    DO WHILE NOT gnScanKill
            nLevel = BASS_ChannelGetLevel(nScanChannel) '// scan peaks
            nLP = LO(WORD, nLevel)
            nRP = HI(WORD, nLevel)
     
            IF nLpeak < nLP THEN nLpeak = nLP ' set left peak
            IF nRpeak < nRP THEN nRpeak = nRP ' set right peak
     
            IF BASS_ChannelIsActive(nScanChannel) = 0 THEN
               nX = -1 ' reached the end
            ELSE
               nX = BASS_ChannelGetPosition(nScanChannel, %BASS_POS_BYTE) / nBpp
            END IF
     
            IF nX > nXpos THEN
               nL = (nLpeak * nHalfHeight / 32768) - 1
               nR = (nRpeak * nHalfHeight / 32768) - 1
               FOR nY = 0 TO nL
                   IF gnScanKill THEN
                      EXIT FOR
                   ELSE
                      PixelArray(nX, nHalfHeight - nY) = zColorARGB(255, LevelColr(rCoef * nY))
                   END IF
               NEXT
               FOR nY = 0 TO nR
                   IF gnScanKill THEN 
                      EXIT FOR
                   ELSE
                      PixelArray(nX, nHalfHeight - 1 + nY) = zColorARGB(255, LevelColr(rCoef * nY))
                   END IF
               NEXT
               IF nX >= %SCANWIDTH - 1 THEN EXIT DO '// gone off end of display
               nXpos = nX
               nLpeak = 0: nRpeak = 0
            END IF
        LOOP

  9. #29
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    J'ai testé tes codes jurassic pork et je viens faire le point

    J'ai un petit soucis sur la lecture, quand je lance une nouvelle fois la lecture cela à pour conséquence de relancer le son une nouvelle fois en plus et non pas de stopper et relancer le son même en utilisant un Stop(), une idée ?

    Les jauges fonctionnent bien mais comment les personnaliser ? Il y a beaucoup de paramètres sur le champ .NET et je n'arrive pas à trouver celui pour régler la latence par exemple ? Je voudrais que les jauges soient mises à jour un peu plus rapidement, c'est possible ? Comment connais tu les paramètres comme .Amplitude par exemple vu qu'il n'y a pas de doc de Naudio ?

    L'enregistrement fonctionne aussi en ayant rectifié un peu ton code car j'avais des erreurs sur les "allouer".

    J'aimerais que les jauges fonctionnent aussi en enregistrement, sais-tu si cela est possible ?

    Merci.

    EDIT : J'ai trouvé le paramètre DesiredLatency pour choisir la latence voulue

  10. #30
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Je viens d'avoir une erreur lors de l'enregistrement avec WaveIn, j'ai lu qu'il fallait utiliser WaveInEvent pour passer par une callback et non les messages Windows.

    Cela va pas changer beaucoup de choses pour mon appli ? Performances ?

    Merci.

  11. #31
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 947
    Points : 9 275
    Points
    9 275
    Par défaut
    hello,
    en utilisant l'assemblage Naudio avec Windev, je viens de constater quelque chose de très inquiétant concernant l'utilisation de dotnet dans Windev. Il y aurait un défaut de libération mémoire des objets .Net : voir ce post comme souvent resté sans solution
    J'ai essayé les différentes techniques de libération d'objets mais j'ai toujours des fuites mémoires. Par exemple si je joue un fichier mp3 la mémoire utilisée augmente au fur et à mesure de l'avancement de la lecture ce qui est normal. Mais quand j'arrête et que j'essaie de libérer la mémoire. Pas de libération sniff !
    et le pire c'est quand j'ouvre une fenêtre avec des champs dotnet dedans . Il y a bien sûr une augmentation de l'utilisation mémoire mais si je ferme la fenêtre pas de libération et si je la rouvre vlan réaugmentation de l'utilisation. J'ai l'impression qu'il y a une mauvaise interaction entre le garbage collector du dotnet et windev.
    Les fuites mémoires ne sont pas énormes énormes mais si il y a une utilisation intensive des objets dotnet, cela peut être plutôt gênant.
    Donc pour l'instant, en attendant confirmation je déconseille d'utiliser l'assemblage Naudio pour une utilisation intensive.
    Concernant Les fuites mémoire avec les objets dotnet si quelqu'un pouvait me confirmer que je ne raconte pas de bêtises et que le problème existe (A moins que cela soit résolu avec la version actuelle de windev (je suis en WD16)).

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  12. #32
    Membre habitué
    Avatar de jdsetls
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Décembre 2012
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2012
    Messages : 209
    Points : 164
    Points
    164
    Billets dans le blog
    1
    Par défaut Jouer un MP3 depuis Windev
    Bonjour,

    Si tu souhaites simplement jouer un MP3 depuis Windev, la réponse est là :

    http://www.developpez.net/forums/d14...n/#post7842735

    Je l'ai postée ce matin, 3 juin 2014

    Cordialement
    Mon dernier livre Si c'est simple, c'est du Windev, version 2014, disponible sur Lulu.com, mot-clé Windev.
    http://www.lulu.com/shop/search.ep?t...ch=lulu.com&q=

  13. #33
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    486
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 486
    Points : 875
    Points
    875
    Par défaut
    MCI est un gadget, il est déjà largement utilisé dans de nombreux exemples WinDev.

    Je pense que la meilleure solution pour WDKyle, c'est d'utiliser BASS.dll en liaison avec une DLL externe pour gérer l'enregistrement en temps réel, car çà ne marche pas avec une callback codée en WinDev (pas assez rapide).

    L'objection du prix de Bass.dll me fait sourire, car quand on voit que PC-Soft facture un ingénieur maison 1200 € HT par jour, là je comprends qu'on y regarde à deux fois avant de passer commande. Mais une DLL qu'on peut acheter une fois pour toute, sans avoir à payer chaque année, et qui peut être utilisée avec n'importe quel langage sans payer de royalties (et sans dongle) là je dis que çà vaut la peine d'y réfléchir.

    WDKyle je dispose déjà de toute l'encapsulation BASS traduite en WinDev 32-bit, sous forme de procédures globales procédurales (pour la vitesse), si çà peut vous aider.

    ...

  14. #34
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Bonjour,

    Merci pour l'infos jurassic pork, je n'avais pas remarqué de choses de se coté là... Par contre, lors d'un enregistrement avec Naudio lorsque les accès au disque dur ont l'air important car j'avais un sablier presque un permanence lorsque je voulais accéder au répertoire de destination du fichier audio... Un peu gênant

    Pour ce qui est de Bass.dll, j'y réfléchi de plus en plus... J'ai un petit projet qui utilise déjà une bonne partie des éléments dont j'ai besoin (lecture sur carte son spécifiques, jauges, progression du morceau). Mais si vos procédures peuvent m'apporter un plus, je suis preneur.

    Me resterais que la mise en place de l'enregistrement avec jauge si possible, un moyen de se positionner à un endroit voulu dans le son en lecture et voila.

    Par contre, je ne sais pas créer de DLL externe pour la gestion des enregistrements

    Sinon, je peux commencer à le développer et ensuite acheter une licence au moment voulu de la commercialisation de mon logiciel... ?

    Merci.

  15. #35
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    486
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 486
    Points : 875
    Points
    875
    Par défaut
    Sinon, je peux commencer à le développer et ensuite acheter une licence au moment voulu de la commercialisation de mon logiciel... ?
    Bien sûr, car il n'y a pas de différence entre la version commerciale et la version perso, c'est toujours la même DLL.
    Je vais créer un ZIP avec les fonctions de base de BASS.dll sous forme de procédures globales WinDev, je le posterai sur ce forum dans un post séparé.

  16. #36
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Merci pour votre aide Patrice

    Par contre, même avec vos fonctions Bass, il faut créer une DLL pour l'enregistrement ?

  17. #37
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    486
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 486
    Points : 875
    Points
    875
    Par défaut
    Par contre, même avec vos fonctions Bass, il faut créer une DLL pour l'enregistrement ?
    Essayez d'abord avec une callback WinDev, peut être que çà marche avec les dernières versions 18 et 19 de WinDev.
    En ce qui me concerne çà ne marche pas avec la 17 et les versions antérieures.

  18. #38
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Citation Envoyé par Patrice Terrier Voir le message
    Essayez d'abord avec une callback WinDev, peut être que çà marche avec les dernières versions 18 et 19 de WinDev.
    En ce qui me concerne çà ne marche pas avec la 17 et les versions antérieures.
    Je suis en Windev 16, donc cela ne devrais pas fonctionner...

  19. #39
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    486
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 486
    Points : 875
    Points
    875
    Par défaut
    Faites un essai, on ne sait jamais

  20. #40
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Citation Envoyé par Patrice Terrier Voir le message
    Faites un essai, on ne sait jamais
    J'avais essayé ceci, la callback est bien appelée mais je ne trouve pas les bonne fonctions Windev pour sauvegarder le fichier audio. Si vous avez une idée, je suis preneur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    nIDFichier est un entier
    nIDFichier = fOuvre("C:\Users\Kyle\Documents\test.wav", foLectureEcriture+foCréation)
    SI nIDFichier = -1 ALORS
    	Erreur(ErreurInfo())
    SINON
    	Trace(nIDFichier)
    FIN
     
    BASS_RecordInit(0)
    BASS_RecordSetDevice(0)
    handlerecord est entier système
    handlerecord = BASS_RecordStart(44100, 2, 0, &Microphone_CallBack, 0)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    PROCEDURE Microphone_CallBack(Ptrhandle est entier sur 4 octets, PtrBuffer est un Buffer, Lenght est entier sur 4 octets, PtrUser est un entier système)
     
    fEcrit(FEN_Cartouchier.nIDFichier, &PtrBuffer, Lenght)
     
    RENVOYER Vrai

Discussions similaires

  1. Problème création DLL
    Par sniperpro dans le forum Langage
    Réponses: 10
    Dernier message: 05/10/2011, 10h11
  2. Problème Création DLL
    Par Fabien25C dans le forum Débuter
    Réponses: 1
    Dernier message: 25/11/2009, 13h57
  3. Réponses: 10
    Dernier message: 05/02/2009, 13h22
  4. Problème création de DLL avec CString
    Par loupdeau dans le forum MFC
    Réponses: 3
    Dernier message: 21/07/2005, 20h55
  5. Problème création de DLL
    Par monsieur.voie.lactee dans le forum C++Builder
    Réponses: 4
    Dernier message: 12/08/2003, 16h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo