【发布时间】:2015-04-11 18:43:54
【问题描述】:
我的 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;
然而,这个剂量可以工作,因为它不会识别命名空间。显然它没有在 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();
}
【问题讨论】:
标签: c# audio background