public void Pause(bool pause = true) { if (this.Status == EM_PlayStatus.Playing && pause) { this.Status = EM_PlayStatus.Paused; PInvoke.ZLMediaKitMethod.mk_player_pause(_id, 1); } else if (!pause && this.Status == EM_PlayStatus.Paused) { this.Status = EM_PlayStatus.Playing; PInvoke.ZLMediaKitMethod.mk_player_pause(_id, 0); } }
private void mk_play_event(IntPtr userdata, int err_code, string err_msg) { if (userdata == this._resultData) { if (err_code == 0) { this.Status = EM_PlayStatus.Playing; } OnPlayResult?.Invoke(err_code, err_msg); } else if (userdata == this._shutdownData) { this.Status = EM_PlayStatus.Closed; OnShutdown?.Invoke(err_code, err_msg); } }
protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { // TODO: 释放托管状态(托管对象) } PInvoke.ZLMediaKitMethod.mk_player_release(_id); this.Status = EM_PlayStatus.Closed; Marshal.FreeHGlobal(this._resultData); Marshal.FreeHGlobal(this._shutdownData); // TODO: 释放未托管的资源(未托管的对象)并替代终结器 // TODO: 将大型字段设置为 null disposedValue = true; } }
public void Play(string url) { this.Status = EM_PlayStatus.Init; PInvoke.ZLMediaKitMethod.mk_player_play(_id, url); }
public void Close() { PInvoke.ZLMediaKitMethod.mk_player_release(_id); this.Status = EM_PlayStatus.Closed; }