Avatar billede jacothewaco Nybegynder
08. september 2005 - 11:28 Der er 2 løsninger

DirectX:Optage,Afspille

Hvordan optager man og afspiller i directX ved brug af DirectSound, uden brug af winforms.
flg. kodeeksempel, er lavet vha. opskriften fra : http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_m/directx/sound/playingsounds/playing_sounds_entry.asp

Problemet er at der skal sættes "SetCooperativeLevel" som enten tager en IntPtr eller System.Windows.Forms.Control, og jeg ønsker IKKE at bruge winforms, idet jeg er ved at udvilke et API.

Jeg har lavet en løsning for at kunne optage og gemme i  en fil, men jeg kan ikke afspille, pga. førnævnte problemstilling

Andre løsningsforslag er velkomne, bare der bruges directX.DirectSound, C# og .Net .

Kodeeksempel:
using System;
using Microsoft.DirectX;
using Microsoft.DirectX.DirectSound;

namespace AudioPlayer
{

    class AudioPlayer
    {
        private Device dsDevice = null;
       
        private SecondaryBuffer secBuff = null;
        private BufferDescription buffDesc = null;
        private IntPtr ptr ;
        public AudioPlayer()
        {
           
           
            BufferCaps buffCaps = new BufferCaps();
            ptr = new IntPtr();
            dsDevice = new Device(DSoundHelper.DefaultVoicePlaybackDevice);
            dsDevice.SetCooperativeLevel(ptr,CooperativeLevel.WritePrimary);
            buffDesc = new BufferDescription();
            secBuff = new SecondaryBuffer("c:/temp/test.wav",buffDesc,dsDevice);
       
           
        }

        public void player()
        {
                secBuff.Play(0,BufferPlayFlags.Looping);
        }


       
        static void Main()
        {
            AudioPlayer t  = new AudioPlayer();
            t.player();
        }
    }
}
Avatar billede jacothewaco Nybegynder
08. september 2005 - 13:18 #1
En umiddelbar løsning er at benytte winforms, uden at winformen vises.
Grimt, men det virker.
Avatar billede jacothewaco Nybegynder
08. september 2005 - 13:19 #2
tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester