Я работаю над приложением для потоковой передачи интернет-радио для Windows Phone. Я изучаю лучшие практики и различные реализации. Я использую следующий код для чтения потока:
private MemoryStream bufferStream;
private Stream stream;
...
...
...
byte[] data = new byte[2048];
int read;
while (true)
{
read = stream.Read(data, 0, data.Length);
BinaryWriter bw = new BinaryWriter(bufferStream);
bw.Write(data);
bw.Flush();
}
Я не уверен, что это эффективный способ. Также я видел реализацию кольцевого буфера. Как эффективнее всего транслировать музыку без "запинок", "артефактов" и прерываний?