public async Task ShowVideo( string mediaItemFilePath, Guid mediaItemId, TimeSpan startOffset, bool startFromPaused) { _mediaItemId = mediaItemId; _startPosition = startOffset; _lastPosition = TimeSpan.Zero; if (startFromPaused) { _mediaElement.Position = _startPosition; await _mediaElement.Play(); OnMediaChangeEvent(new MediaEventArgs { MediaItemId = _mediaItemId, Change = MediaChange.Started }); } else { OnMediaChangeEvent(new MediaEventArgs { MediaItemId = _mediaItemId, Change = MediaChange.Starting }); _mediaElement.Source = new Uri(mediaItemFilePath); } }
public async Task ShowVideoOrPlayAudio( string mediaItemFilePath, ScreenPosition screenPosition, Guid mediaItemId, MediaClassification mediaClassification, TimeSpan startOffset, bool startFromPaused) { _mediaItemId = mediaItemId; _mediaItemFilePath = mediaItemFilePath; Log.Debug($"ShowVideoOrPlayAudio - Media Id = {_mediaItemId}"); _mediaClassification = mediaClassification; _startPosition = startOffset; _lastPosition = TimeSpan.Zero; ScreenPositionHelper.SetScreenPosition(_mediaElement.FrameworkElement, screenPosition); ScreenPositionHelper.SetSubtitleBlockScreenPosition(_subtitleBlock, screenPosition); _mediaElement.MediaItemId = mediaItemId; if (startFromPaused) { _mediaElement.Position = _startPosition; await _mediaElement.Play(new Uri(mediaItemFilePath), _mediaClassification); OnMediaChangeEvent(CreateMediaEventArgs(_mediaItemId, MediaChange.Started)); await CreateSubtitleProvider(mediaItemFilePath, startOffset); } else { Log.Debug($"Firing Started - Media Id = {_mediaItemId}"); await CreateSubtitleFile(mediaItemFilePath); await _mediaElement.Play(new Uri(mediaItemFilePath), _mediaClassification).ConfigureAwait(true); OnMediaChangeEvent(CreateMediaEventArgs(_mediaItemId, MediaChange.Starting)); } }
public void playMedia() { WriteDebug("method:play " + media.CurrentState); // sometimes people forget to call load() first if (!_enableMultiCastPlayer && (media.CurrentState == MediaElementState.Closed || (_mediaUrl != "" && media.Source == null))) { _isAttemptingToPlay = true; loadMedia(); } // store and trigger with the state change above if (media.CurrentState == MediaElementState.Closed && _isLoading) { WriteDebug("storing _isAttemptingToPlay "); _isAttemptingToPlay = true; } else { media.Play(); _isEnded = false; _isPaused = false; } }