コード例 #1
0
        private void OnMediaOpening(object sender, Unosquare.FFME.Common.MediaOpeningEventArgs e)
        {
            var device = e.Options.VideoStream.HardwareDevices
                         .FirstOrDefault(d => d.DeviceType == FFmpeg.AutoGen.AVHWDeviceType.AV_HWDEVICE_TYPE_DXVA2);

            if (device != null)
            {
                e.Options.VideoHardwareDevice = device;
            }
            else
            {
                e.Options.VideoHardwareDevice = e.Options.VideoStream.HardwareDevices
                                                .FirstOrDefault(d => d.DeviceType == FFmpeg.AutoGen.AVHWDeviceType.AV_HWDEVICE_TYPE_D3D11VA);
            }

            if (e.Options.VideoStream.PixelWidth > this.ActualWidth)
            {
                e.Options.VideoFilter = $"scale={(int)this.ActualWidth}:-1";
            }
        }
コード例 #2
0
 private void Media_MediaOpening(object sender, Unosquare.FFME.Common.MediaOpeningEventArgs e)
 {
     e.Options.MinimumPlaybackBufferPercent = 0;
 }
コード例 #3
0
 private void MediaPlayer_MediaOpening(object sender, Unosquare.FFME.Common.MediaOpeningEventArgs e)
 {
     MediaTitle_TextBlock.Dispatcher.Invoke(() => MediaTitle_TextBlock.Text = "Loading...");
 }
コード例 #4
0
 private void MediaElement_MediaOpening(object sender, Unosquare.FFME.Common.MediaOpeningEventArgs e)
 {
     e.Options.IsFluidSeekingDisabled = true;
 }