public void SetNext(File file, string ext) { if (StringToExtension.ContainsKey(ext)) { currentTrack.Extension = StringToExtension[ext]; } nextTrack.FileCache = file; nextTrack.State = TrackState.Loading; new Thread(delegate(object o) { //var response = WebRequest.Create(url).GetResponse(); using (var stream = GoogleDriveApiManager.GetAudioFile(file.Id)) //response.GetResponseStream()) { byte[] buffer = new byte[65536]; // 64KB chunks stream.Position = 0; int read; while ((read = stream.Read(buffer, 0, buffer.Length)) > 0) { nextTrack.Data.Position = nextTrack.Data.Length; nextTrack.Data.Write(buffer, 0, read); } } nextTrack.Data.Position = 0; nextTrack.State = TrackState.Playable; }).Start(); }
public MainWindow() { if (Instance != null) { Close(); } //ConsoleManager.Show(); Instance = this; InitializeComponent(); InitAudio(); //Console("Boot"); GoogleDriveApiManager.CompleteAuth += delegate { Task.Run(() => GoogleDriveApiManager.StartSearchAllAudioFile(SearchAudioFiles)); }; GoogleDriveApiManager.CompleteGetFilelist += delegate { MakeFolderTree(_fileCache); InvokeInOtherThread(() => ShowFolders(_folderTree)); //AddAudioFilesUI(_fileCache); }; Loaded += delegate { GoogleDriveApiManager.Auth(); }; Closed += delegate { AudioPlayer.WindowClosed = true; _myTimer.Stop(); if (_audio != null) { _audio.Stop(); _audio.OnClose(); } }; _myTimer.Tick += delegate { PlayListTextUpdate(); CheckStack(); }; _myTimer.Interval = 10; _myTimer.Start(); }