예제 #1
0
        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);
            });
        }
예제 #2
0
 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;
		}
예제 #5
0
    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;
        }
    }