Avatar billede overload.dk Nybegynder
19. april 2008 - 13:41

Hvordan "udpakker" jeg raw el. lame-decoded bytes fra et stream?

Jeg bruger Bass.dll og Bass.Net 2.4

Jeg har et objekt uden for Bass miljøet og havde håbet på følgende kunne lade sig gøre, men jeg har aldrig rigtig rodet med streams i .net og generelt ikke den største haj til det.

Mit eksterne objekt kaldes sådan:
MyObject.SendSample(byte[] Sample, int Pos, int Count)

Og det virker fint med en wav fil:

    BinaryReader br;
    br = new BinaryReader(File.Open(textBox3.Text, FileMode.Open));

    while (true)
    {
        byte[] raw = br.ReadBytes(4096 * 2 * 2);

        if (raw.Length == 0)
        break;

        byte[] alac = EncodeALAC(raw);
        MyObject.SendSample(alac, 0, alac.Length);
    }

Jeg tænkte jeg kunne gøre noget i stil med:

    byte[] encBuffer = new byte[65536];

    while (Bass.BASS_ChannelIsActive(stream) == BASSActive.BASS_ACTIVE_PLAYING)
    {
        Bass.BASS_SampleGetData(stream, encBuffer);
        MyObject.SendSample(encBuffer, 0, encBuffer.Length);
    }

Men det virker ikke, så håber der er nogen derude der kan give lidt hjælp.
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