private void PlayStateChangedHandlerSink(AVConnection sender, AVConnection.PlayState NewState) { playButton.Image = playPictureBox2.Image; recordButton.Image = recordPictureBox2.Image; stopButton.Image = stopPictureBox2.Image; pauseButton.Image = pausePictureBox2.Image; switch (NewState) { case AVConnection.PlayState.PLAYING: playButton.Image = playPictureBox1.Image; break; case AVConnection.PlayState.RECORDING: recordButton.Image = recordPictureBox1.Image; break; case AVConnection.PlayState.SEEKING: case AVConnection.PlayState.STOPPED: stopButton.Image = stopPictureBox1.Image; break; case AVConnection.PlayState.PAUSED: pauseButton.Image = pausePictureBox1.Image; break; } }
private void connectionAV_OnPlayStateChanged(AVConnection sender, AVConnection.PlayState NewState) { this.Dispatcher.BeginInvoke(new Action(() => { if (this.streamToMenu.DropDownItems.ContainsKey(sender.Parent.UniqueDeviceName) && sender.MediaResource != null && this.swyhDevice.ContentDirectory.GetWasapiUris(AudioSettings.GetStreamFormat()).Contains(sender.MediaResource.ContentUri)) { var item = this.streamToMenu.DropDownItems[sender.Parent.UniqueDeviceName] as System.Windows.Forms.ToolStripMenuItem; { if (NewState == AVConnection.PlayState.STOPPED) { item.Checked = false; } else if (NewState == AVConnection.PlayState.PLAYING) { item.Checked = true; } } } })); }
/// <summary> /// This method gets called when the PlayState of the connection changes /// </summary> /// <param name="sender"></param> /// <param name="NewState"></param> protected void PlayStateSink(AVConnection sender, AVConnection.PlayState NewState) { if (NewState == AVConnection.PlayState.STOPPED) { if (FakePlayQueue.Count == 0) { return; } if (sender.MediaResource.ContentUri != PlayListUri) { // Somebody else changed the Uri from under us, so we have no choice // but to give up FakePlayQueue.Clear(); return; } IMediaResource r = (IMediaResource)FakePlayQueue.Dequeue(); PlayListUri = r.ContentUri; //ToDo: Add MetaData sender.SetAVTransportURI(r.ContentUri, "", sender, new CpAVTransport.Delegate_OnResult_SetAVTransportURI(FakePlayListSink)); } }
private void PlayStateSink(AVConnection sender, AVConnection.PlayState NewState) { Ev_PlayStateChanged.Set(); }