private void MP_OnPreBuffer(object sender, MediaItem mediaItem, PreBufferState state) { switch (state) { case PreBufferState.PrebufferingStarted: lPreBuf.BackColor = Color.Orange; lPreBuf.Visible = true; break; case PreBufferState.PrebufferingReady: lPreBuf.BackColor = Color.Green; lPreBuf.Visible = true; break; case PreBufferState.PrebufferingEndedAndPlaying: case PreBufferState.PrebufferingEndedAndCanceled: case PreBufferState.Unknown: default: lPreBuf.Visible = false; break; } //switch }
private void DoEvent_MP_OnPreBuffer(MP_OnPreBuffer doEvent, object sender, MediaItem mediaItem, PreBufferState state) { if (doEvent != null && mediaItem != null) { MP_Params param = new MP_Params(); param.Params = new object[] { doEvent, sender, mediaItem, state }; SynchronizationContext sc; lock (lockVAR) { sc = synchronizationContext; } //lock if (sc != null) { sc.Post(HandleOnEventCallUserCode, param); } else { HandleOnEventCallUserCode(param); } } }