public int CreatePlayerAndGetId(string fileName, uint options) { if (options == 1) { var timer = new Timer(10); timer.Elapsed += (sender, args) => { _eventsProvider.Publish(new PlayerCompleted() { Id = 0 }); timer.Dispose(); }; timer.Enabled = true; } return(0); }
private void SchedulePlayerEof(string fileName, int id) { var pInfo = IntPtr.Zero; PJSUA_DLL.Media.pjsua_player_get_port(id, ref pInfo); var info = (pjmedia_port)Marshal.PtrToStructure(pInfo, typeof(pjmedia_port)); var approxDurationSec = new FileInfo(Path.GetFullPath(fileName)).Length / (info.info.clock_rate * info.info.channel_count * (double)info.info.bits_per_sample / 8); var timer = new Timer(approxDurationSec * 1000); timer.Elapsed += (sender, args) => { timer.Dispose(); _eventsProvider.Publish(new PlayerCompleted { Id = id }); }; timer.Enabled = true; }
private void OnLog(int level, string data, int len) { _eventAggregator.Publish(new LogRequested() { Message = data, Level = level }); }