public void TestSource() { AtemMockServerWrapper.Each(_output, _pool, SourceCommandHandler, DeviceTestCases.MediaPlayer, helper => { var tested = false; var players = GetMediaPlayers(helper); foreach (Tuple <uint, IBMDSwitcherMediaPlayer> player in players) { tested = true; AtemState stateBefore = helper.Helper.BuildLibState(); MediaPlayerState playerState = stateBefore.MediaPlayers[(int)player.Item1]; for (int i = 0; i < 5; i++) { MediaPlayerSource type = playerState.Source.SourceType = stateBefore.MediaPool.Clips.Count > 0 ? Randomiser.EnumValue <MediaPlayerSource>() : MediaPlayerSource.Still; uint index = playerState.Source.SourceIndex = Randomiser.RangeInt(20) + 1; helper.SendAndWaitForChange(stateBefore, () => { player.Item2.SetSource(AtemEnumMaps.MediaPlayerSourceMap[type], index); }); } } Assert.True(tested); }); }
protected override void OnNavigatedTo(NavigationEventArgs e) { //获取参数打开视频 param = e.Parameter as MediaPlayerSource; PlayerTitle.Text = param.Title + '-' + param.PartTitle; //加载弹幕 LoadDanmaku(); //播放视频 Play(); //设置屏幕方向 DisplayInformation.AutoRotationPreferences = DisplayOrientations.Landscape; //获取方向传感器 simpleorientation = SimpleOrientationSensor.GetDefault(); if (simpleorientation == null) { SettingsRow0.Visibility = Visibility.Collapsed; } //这两个东西有最小值,加载会出发ValueChanged事件,这里等它加载完再添加委托 DanmakuSizeSlider.Loaded += ((sender, args) => DanmakuSizeSlider.ValueChanged += DanmakuSizeSlider_ValueChanged); DanmakuSpeedSlider.Loaded += ((sender, args) => DanmakuSpeedSlider.ValueChanged += DanmakuSpeedSlider_ValueChanged); StatusText.Text = ""; Status.Visibility = Visibility.Visible; //设置可拖动区域 Window.Current.SetTitleBar(DraggableArea); //设置一些控件的初始值 SetValues(); }
public List<MediaPlayerSource> GetVideoMediaPlayerSources(int videoID) { var mediaPlayerSources = new List<MediaPlayerSource>(); var videoAssets = _repository.GetVideoAssets(videoID); foreach (var videoAsset in videoAssets) { var asset = _mediaServices.GetAsset(videoAsset.MediaServicesAssetID); var mediaPlayerSource = new MediaPlayerSource() { src = _mediaServices.GetAssetSasUrl(asset, videoAsset.FileTypeExtension), type = videoAsset.MediaPlayerType }; mediaPlayerSources.Add(mediaPlayerSource); } return mediaPlayerSources; }
public List<MediaPlayerSource> GetVideoMediaPlayerSources(int videoID) { var mediaPlayerSources = new List<MediaPlayerSource>(); var videoAssets = _repository.GetVideoAssets(videoID); foreach(var videoAsset in videoAssets) { var asset = _mediaServices.GetAsset(videoAsset.MediaServicesAssetID); var mediaPlayerSource = new MediaPlayerSource() { src = _mediaServices.GetAssetSasUrl(asset, videoAsset.FileTypeExtension), type = videoAsset.MediaPlayerType }; mediaPlayerSources.Add(mediaPlayerSource); } return mediaPlayerSources; }
private void ConfigureMediaPlayer(MediaPlayerFile file) { RadMediaPlayer1.Sources.Clear(); RadMediaPlayer1.StartTime = 0; RadMediaPlayer1.Muted = false; RadMediaPlayer1.AutoPlay = false; foreach (MediaPlayerSource source in file.Sources) { RadMediaPlayer1.Sources.Add(source); source.Path = source.Path; source.MimeType = source.MimeType; MediaPlayerSource hdSource = new MediaPlayerSource(); RadMediaPlayer1.Sources.Add(hdSource); hdSource.MimeType = source.MimeType; hdSource.Path = source.Path; hdSource.IsHD = true; } }