【问题标题】:UWP with LibVLC.UWP no video and/or audio?带有 LibVLC.UWP 的 UWP 没有视频和/或音频?
【发布时间】:2020-03-09 15:41:47
【问题描述】:

我有一个 UWP 应用(目标版本 1903 Build 18362),我想在其中嵌入 VLC 视频播放器。这是我的经历:

  1. 添加 LibVLCSharp 3.3.1
  2. 添加 VideoLAN.LibVLC.UWP 3.2.0

结果:当我捕获事件时,他说他正在缓冲和播放,但没有视频和音频。

  1. 恢复到 VideoLAN.LibVLC.UWP 3.1.1.1

结果:当我捕获他说他正在缓冲和播放的事件时,我听到了音频,但没有视频。

我做错了什么?

MainPage.Xaml:

<Page
    x:Class="TestVLCinUWP.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:TestVLCinUWP"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:vlc="using:LibVLCSharp.Platforms.UWP"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

    <Grid>
        <vlc:VideoView x:Name="Video" Width="960" Height="540" />
    </Grid>
</Page>

MainPage.xaml.cs:

using LibVLCSharp.Shared;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;

namespace TestVLCinUWP
{
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            Core.Initialize();

            this.InitializeComponent();

            Loaded += MainPage_Loaded;
        }

        private void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            LibVLC vlc = new LibVLC();
            var media = new Media(vlc, "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4", FromType.FromLocation);
            MediaPlayer player = new MediaPlayer(media);
            Video.MediaPlayer = player;
            player.Play();
        }
    }
}

【问题讨论】:

    标签: c# xaml uwp vlc libvlcsharp


    【解决方案1】:

    请看https://github.com/videolan/libvlcsharp/tree/3.x/Samples/LibVLCSharp.UWP.Sample

    使用 LVS 3.x /Libvlc 3.x 中的当前设计,您需要在创建 new LibVLC() 时设置交换链选项。

    至于音频,这是一个已知问题:https://code.videolan.org/videolan/LibVLCSharp/issues/253

    【讨论】:

    • 还有一个使用 libvlc uwp 3.2 的音频的开放错误
    • 感谢@cube45,这很好用……对于 VideoLAN.LibVLC.UWP 的 3.1.1.1 版本。如果我切换到 3.2.0,音频现在消失了,视频仍然存在。
    • 正如@mtz 所说,音频部分是一个已知问题。我在回复中忘记了那部分,我只是编辑了它。
    • 您知道如何手动检索这些swapchain 选项吗? Initialize 命令从未在我自己的项目中触发,可能是因为Grid 是包含VideoViewCollapsed。或者如何手动初始化 VideoView。
    • nvm 找到了,必须将 Binding 更改为 x:Bind,因为我绑定到 view.cs 而不是使用 Page.DataContext
    猜你喜欢
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多