gpt4 book ai didi

javascript - 如何在 UWP 应用程序中播放来自 JS 的声音?

转载 作者:行者123 更新时间:2023-11-29 15:15:48 25 4
gpt4 key购买 nike

我正在开发一个 UWP,其中包含一个 WebApp,该 WebApp 具有一些调用某些 C# 函数的 JS 函数。现在,我正在尝试播放存储在我的 UWP 应用的 Assets 文件夹中的声音:

这是我试图发挥我的 Windows 运行时组件 的功能:

public async void Beep()
{
await CoreApplication.MainView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
async () =>
{
MediaElement mysong = new MediaElement();
StorageFolder folder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Assets");
StorageFolder soundsFolder = await folder.GetFolderAsync("sounds");
StorageFile file = await soundsFolder.GetFileAsync("beep.mp3");
var stream = await file.OpenAsync(FileAccessMode.Read);
mysong.SetSource(stream, file.ContentType);
mysong.Play();
});
}

顺便说一句,我也试过这段代码,但它也没有用:

public async void Beep()
{
MediaElement mysong = new MediaElement();
StorageFolder folder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Assets");
StorageFolder soundsFolder = await folder.GetFolderAsync("sounds");
StorageFile file = await soundsFolder.GetFileAsync("beep.mp3");
var stream = await file.OpenAsync(FileAccessMode.Read);
mysong.SetSource(stream, file.ContentType);
mysong.Play();
}

这是文件位置的结构:

location

这就是我在 JS 中调用它的方式:

CallJSCSharp.Beep();

我在 Windows 运行时组件中有更多功能,除了这个之外,所有功能都按预期工作。感谢您的帮助。

最佳答案

MediaElement 需要添加到 XAML UI 树中才能工作;你应该只使用 MediaPlayer API反而。您甚至不需要编写 C# 代码来执行此操作 - 您应该能够直接从 JavaScript 访问 API(如果您愿意)。更多关于 Media Playback overview page

关于javascript - 如何在 UWP 应用程序中播放来自 JS 的声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49199184/

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