Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. MemoryStream ms = new MemoryStream();
  2. waveOut.Play();
  3. long offset = from;
  4. ms.Position = 0;
  5. byte[] decBuffer = new byte[50 * 1024];
  6. while (true)
  7. {
  8. if (paused)
  9. {
  10. waveOut.Stop();
  11. bwProvider.ClearBuffer();
  12. break;
  13. }
  14. lock (LockObj)
  15. {
  16. byte[] readed = Helper.ReadStreamPartially(localStream, offset, 100 * 1024, orders);
  17. if (readed == null)
  18. continue;
  19. ms = new MemoryStream(readed);
  20. }
  21. Mp3Frame frame;
  22. try
  23. {
  24. frame = Mp3Frame.LoadFromStream(ms);
  25. }
  26. catch
  27. {
  28. continue;
  29. }
  30. if (frame == null)
  31. continue;
  32.  
  33. int decompressed = decompressor.DecompressFrame(frame, decBuffer, 0);
  34.  
  35. bwProvider.AddSamples(decBuffer, 0, decompressed);
  36.  
  37. if (Helper.IsBufferNearlyFull(bwProvider))
  38. Thread.Sleep(500);
  39.  
  40. offset += ms.Position;
  41.  
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement