Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MemoryStream ms = new MemoryStream();
- waveOut.Play();
- long offset = from;
- ms.Position = 0;
- byte[] decBuffer = new byte[50 * 1024];
- while (true)
- {
- if (paused)
- {
- waveOut.Stop();
- bwProvider.ClearBuffer();
- break;
- }
- lock (LockObj)
- {
- byte[] readed = Helper.ReadStreamPartially(localStream, offset, 100 * 1024, orders);
- if (readed == null)
- continue;
- ms = new MemoryStream(readed);
- }
- Mp3Frame frame;
- try
- {
- frame = Mp3Frame.LoadFromStream(ms);
- }
- catch
- {
- continue;
- }
- if (frame == null)
- continue;
- int decompressed = decompressor.DecompressFrame(frame, decBuffer, 0);
- bwProvider.AddSamples(decBuffer, 0, decompressed);
- if (Helper.IsBufferNearlyFull(bwProvider))
- Thread.Sleep(500);
- offset += ms.Position;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement