コード例 #1
0
        private void SetProgress(int progress)
        {
            StartOffset = (long)(Duration * ((double)progress / 100));

            var playbackModel = new PlaybackModel(ConnectionUrl, startOffset: StartOffset, withRestart: true);

            OnPlayRequest(playbackModel);

            _isProgressPaused = false;
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public async Task SendSongInfo(PlaybackModel model)
 {
     await Clients.All.SendAsync("UpdateSongInfo", model);
 }
コード例 #4
0
        private void SetRestart()
        {
            var playbackModel = new PlaybackModel(ConnectionUrl, withRestart: true);

            OnPlayRequest(playbackModel);
        }
コード例 #5
0
        private void SetPlay(int ffRate = 1000)
        {
            var playbackModel = new PlaybackModel(ConnectionUrl, ffRate);

            OnPlayRequest(playbackModel);
        }
コード例 #6
0
 protected virtual void OnPlayRequest(PlaybackModel e)
 {
     PlayRequest?.Invoke(this, e);
 }