Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }