c# - 在 Windows 10 通用应用程序中播放音频和视频?

标签 c# windows xaml windows-10 uwp

我需要在 Windows 应用程序中播放音频和视频,我从网络调用中获取 Url,我需要将 Url 添加到源。 我尝试过这种方式,但是没有播放视频或播放音频。 有人帮助我如何实现这一目标? 还有其他方法可以实现吗?

提前致谢。

我的 xaml 代码:

<StackPanel HorizontalAlignment="Center" Grid.Row="3">

         <MediaElement x:Name="media" 
              Source="Videos/video1.mp4" 
              Width="400" 
              AutoPlay="False"
              AreTransportControlsEnabled="True" />

            <StackPanel Orientation="Horizontal"
            HorizontalAlignment="Center">

                <Button Content="Play" Click="Play_Click"/>
                <Button Content="Pause" Click="Pause_Click"/>
                <Button Content="Stop" Click="Stop_Click" />

            </StackPanel>
        </StackPanel>

我的cs代码:

  async void Play_Click(object sender, RoutedEventArgs e)
    {
        await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
        {
            Uri pathUri = new Uri("https://www.youtube.com/watch?v=sOEg_YZQsTI");
            media.Source = pathUri;
            Util.debugLog("PLaying ...");
            media.Play();
            media.Volume = 40;
        });
    }

    async void Pause_Click(object sender, RoutedEventArgs e)
    {
        await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
        {
            Util.debugLog("Paused .. ");
            media.Pause();
        });
    }

    async void Stop_Click(object sender, RoutedEventArgs e)
    {
        await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
        {
            Util.debugLog("Stoped ..");
            media.Stop();
        });
    }


    void Media_MediaFailed(object sender, ExceptionRoutedEventArgs e)
    {
        // Handle failed media event
    }

    void Media_MediaOpened(object sender, RoutedEventArgs e)
    {
        // Handle open media event
    }

    void Media_MediaEnded(object sender, RoutedEventArgs e)
    {
        // Handle media ended event
    }

最佳答案

如果我没看错,您目前正在指定一个网站作为 MediaElement 的来源。那是行不通的。如果您想嵌入 YouTube 内容,您有两种选择:

  1. 将网页嵌入到 WebView
  2. 将视频本身的 url 设置为 Source

关于c# - 在 Windows 10 通用应用程序中播放音频和视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31761038/

相关文章:

c# - 我如何创建两个部分来重点关注和其他部分进行写作?

c# - 将数据网格列绑定(bind)到动态属性

wpf - 如何序列化 xaml "Brush"?

c# - 从 C# 中存储为字符串的两个数字中找出较大的数字

c# - 是否有具有添加和删除事件的列表版本

c# winforms - 子窗体上的不可访问控件

c# - 调用从 AJAX 返回 IHttpActionResult 的 GET 方法?

python - Flask Windows Apache 问题

windows - 正在搜索命令提示符参数?

linux - 如何使用批处理脚本跨平台将文本附加到文件