/// <summary> /// Start to update the remaining time /// </summary> void StartTimerForRemainingTime() { PlayWatch.Start(); // Any background code that needs to update the user interface Device.BeginInvokeOnMainThread(() => { // interact with UI elements Device.StartTimer(new TimeSpan(0, 0, 0, 1, 0), UpdateRemainingPlayTime); Device.StartTimer(new TimeSpan(0, 0, 0, 0, 100), UpdateProgressbar); }); }
async public void Init(Record record) { PlayControlImage = PLAY_ON; _record = record; VolumeViewVisible = false; CurrentVolume = _playService.Volume; if (CurrentVolume == 0) { Mute = true; MuteOnOffImage = VOLUME_OFF; MuteOnOffSmallImage = VOLUME_OFF_SMALL_IMAGE; } else { Mute = false; MuteOnOffImage = VOLUME_ON; MuteOnOffSmallImage = VOLUME_ON_SMALL_IMAGE; } RemainingTime = record.Duration; Console.WriteLine(" [PlayBackPageModel] RemainingTime : " + RemainingTime); int minutes = RemainingTime / 60000; int seconds = (RemainingTime - minutes * 60000) / 1000; int total = minutes * 60 + seconds; Console.WriteLine(" [PlayBackPageModel] minutes : " + minutes + ", seconds:" + seconds + ", total:" + total); PlayingProcess = 0.0; VolumeLevelProcess = CurrentVolume / MaxVolumeLevel; Console.WriteLine(" [PlayBackPageModel] VolumeLevelProcess : " + VolumeLevelProcess); // calculate value (unit: 100ms) play_progressbar_delta = (1.0 / total) / 10; Console.WriteLine(" [PlayBackPageModel] play_progressbar_delta : " + play_progressbar_delta); _Touched = false; PlayWatch.Reset(); _playService.VolumeChanged += _playService_VolumeChanged; _playService.RegisterVolumeChangedCallback(); await _playService.Init(record.Path); }
void StopTimerForRemainingTime() { PlayWatch.Stop(); }