gpt4 book ai didi

uwp - 在 UWP 中玩 OGG 的可能性

转载 作者:行者123 更新时间:2023-12-04 17:52:01 26 4
gpt4 key购买 nike

我正在通用 Windows 平台上开发应用程序来播放音频文件。我找不到使用 MediaElement 或 AudioGraph 播放 OGG 文件的方法。因此,我打算首先将 ogg 转换为某种支持的格式。你能给我一个提示,什么可以在 UWP 上工作?我尝试将 NAudio 从 OGG 转换为 WAV,但 NVorbis 部分尚未翻译。

非常感谢。

最佳答案

MediaElement 或 AudioGraph 默认不支持 OGG 文件。要播放 OGG 文件,您必须实现相应的解码器。这不是一件容易的事。

实现所需内容的一种简单方法是使用一些可在 UWP 中使用的现有解码器,例如 VLC.MediaElement for UWP .它非常易于使用。只需添加 NuGet package添加到您的项目并将其用作经典 MediaElement。

xmlns:vlc="using:VLC"

<vlc:MediaElement AreTransportControlsEnabled="True" HardwareAcceleration="True"
                  Source="http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_surround-fix.avi">
    <vlc:MediaElement.TransportControls>
        <vlc:MediaTransportControls ControlPanelOpacity="0.8" />
</vlc:MediaElement.TransportControls>
</vlc:MediaElement>

这里的区别在于,VLC.MediaElement 只能为 Source 属性接受一个 string。如果要播放本地文件,需要将文件添加到FutureAccessList中获取 FILE_TOKEN,然后使用 winrt://{FILE_TOKEN} 协议(protocol)设置源。

var fileOpenPicker = new FileOpenPicker();
fileOpenPicker.FileTypeFilter.Add("*");
var file = await fileOpenPicker.PickSingleFileAsync();
if (file != null)
{
    var FILE_TOKEN = StorageApplicationPermissions.FutureAccessList.Add(file);
    mediaElement.Source = null;
    mediaElement.Source = $"winrt://{FILE_TOKEN}";
}

关于uwp - 在 UWP 中玩 OGG 的可能性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43910895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com