gpt4 book ai didi

c# - 在锁屏Windows Phone 8.1下播放音频

转载 作者:行者123 更新时间:2023-12-02 23:47:31 25 4
gpt4 key购买 nike

我的Windows Phone 8.1应用存在问题。在使用电源按钮打开锁定屏幕之前,我无法正常工作。
它保持应有的状态运行-但不再播放其应有的.wav文件。
我已经在负责播放声音的方法上设置了断点,并且它似乎应该在此运行。其他所有方法都起作用,所有计时器线程都如此。
我正在使用MediaElements播放声音,并且将属性设置为

snd.AudioCategory = Windows.UI.Xaml.Media.AudioCategory.BackgroundCapableMedia;

我还启用了Package.appmanifest中的后台音频任务。

我尝试了很多东西,包括添加以下代码:
Microsoft.Phone.Shell.PhoneApplicationService.Current.ApplicationIdleDetectionMode =
Microsoft.Phone.Shell.IdleDetectionMode.Enabled;

但是,这很有效,因为它无法识别 namespace 。显然,它不在8.1中使用,而仅在8.0中使用。

这是用于播放音频的方法:
public async void CountDownFromThree()
{
MediaElement snd = null;
snd = SourceGrid.Children.FirstOrDefault(m => (m as MediaElement) != null) as MediaElement;
if (snd == null)
{
snd = new MediaElement();
SourceGrid.Children.Add(snd);
}

StorageFolder folder = await Package.Current.InstalledLocation.GetFolderAsync(@"Assets\SoundsFolder");
StorageFile file = await folder.GetFileAsync("start-beeps.wav");
var stream = await file.OpenAsync(FileAccessMode.Read);
snd.SetSource(stream, file.ContentType);
snd.MediaEnded += snd_MediaEnded;
snd.Play();
}

最佳答案

好。因此,似乎在Windows Phone 8.1中,BackgroundMediaPlayer是必经之路。我完全删除了所有MediaElement,IMHO必须成为视觉树的一部分,毕竟还是很奇怪。
我发现了一些对我有帮助的资源,下面是链接。

http://www.jayway.com/2014/04/24/windows-phone-8-1-for-developers-the-background-media-player/

此代码示例对我有很大帮助,出于我的预期目的,可以将其简化为几行代码:
https://code.msdn.microsoft.com/windowsapps/BackgroundAudio-63bbc319

关于c# - 在锁屏Windows Phone 8.1下播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29581666/

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