Hvordan "udpakker" jeg raw el. lame-decoded bytes fra et stream?
Jeg bruger Bass.dll og Bass.Net 2.4Jeg 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.