private void SetProgress(int progress) { StartOffset = (long)(Duration * ((double)progress / 100)); var playbackModel = new PlaybackModel(ConnectionUrl, startOffset: StartOffset, withRestart: true); OnPlayRequest(playbackModel); _isProgressPaused = false; }
private void PlayRequestHandler(object sender, PlaybackModel playbackModel) { if (playbackModel.WithRestart) { MediaPlayer.Close(); } MediaPlayer.Open(new MediaPlayerConfig { ConnectionUrl = playbackModel.ConnectionUrl, ConnectionNetworkProtocol = -1, ConnectionBufferingTime = 100, DecodingType = 1, StartOffest = playbackModel.StartOffset }, new MediaPlayerCallback(this)); // TODO: Check if this works. MediaPlayer.SetFFRate(playbackModel.FFRate); }
public async Task SendSongInfo(PlaybackModel model) { await Clients.All.SendAsync("UpdateSongInfo", model); }
private void SetRestart() { var playbackModel = new PlaybackModel(ConnectionUrl, withRestart: true); OnPlayRequest(playbackModel); }
private void SetPlay(int ffRate = 1000) { var playbackModel = new PlaybackModel(ConnectionUrl, ffRate); OnPlayRequest(playbackModel); }
protected virtual void OnPlayRequest(PlaybackModel e) { PlayRequest?.Invoke(this, e); }