【发布时间】:2018-08-18 08:17:26
【问题描述】:
我正在开发一个 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();
}
这是文件所在位置的结构:
这就是我从 JS 中调用它的方式:
CallJSCSharp.Beep();
我在 Windows 运行时组件中有更多功能,除此之外,所有功能都按预期工作。感谢您的帮助。
【问题讨论】:
-
您打算在 Windows 应用程序中还是在网页上播放声音?
-
在 Windows 应用程序中,我只是从 JS 中调用它。
-
我只想播放声音没有可见控件。
标签: javascript audio webview uwp windows-10-universal