Windows 10 最小化或锁定时,保持播放音频图UWP输出

Windows 10 最小化或锁定时,保持播放音频图UWP输出,windows-10,uwp,Windows 10,Uwp,使用audiograph类配置音频非常容易,但当我最小化或锁定屏幕时,音频会暂停。有什么办法可以解决最小化时如何保持音频播放的问题吗 在我的例子中,我甚至使用了10多个MP3文件同时播放,并且具有多种效果,这些效果一直在变化。唯一的方法可能是将输出发送到流,并使用后台任务的后台媒体获取输出,但我没有做任何类似的事情来知道它是否可以工作。应该有两种解决方案: 1) 使用BackgroundMediaPlayer,您可以在MSDN上查找和。由于BackgroundMediaPlayer只能播放来自独

使用audiograph类配置音频非常容易,但当我最小化或锁定屏幕时,音频会暂停。有什么办法可以解决最小化时如何保持音频播放的问题吗


在我的例子中,我甚至使用了10多个MP3文件同时播放,并且具有多种效果,这些效果一直在变化。唯一的方法可能是将输出发送到流,并使用后台任务的后台媒体获取输出,但我没有做任何类似的事情来知道它是否可以工作。

应该有两种解决方案:

1) 使用BackgroundMediaPlayer,您可以在MSDN上查找和。由于BackgroundMediaPlayer只能播放来自独立存储或远程URI的文件,因此您可以首先利用AudioFileOutputNode,将音频图像处理后的音频内容保存到文件中,然后将文件加载到BackgroundMediaPlayer的独立存储中


2) 您还可以利用,这意味着您可以向操作系统发送请求,以在操作系统终止应用程序之前延长完成挂起任务的时间范围。当然,这并不是一项真正的后台任务,因为它旨在为您在进入新的电源状态时赢得一点额外的时间来做额外的工作

应该有两种解决方案:

1) 使用BackgroundMediaPlayer,您可以在MSDN上查找和。由于BackgroundMediaPlayer只能播放来自独立存储或远程URI的文件,因此您可以首先利用AudioFileOutputNode,将音频图像处理后的音频内容保存到文件中,然后将文件加载到BackgroundMediaPlayer的独立存储中


2) 您还可以利用,这意味着您可以向操作系统发送请求,以在操作系统终止应用程序之前延长完成挂起任务的时间范围。当然,这并不是一项真正的后台任务,因为它旨在为您在进入新的电源状态时赢得一点额外的时间来做额外的工作

如果您只需要听力图,而不需要MediaPlayer,则可以在BackgroundMediaPlayer的后台任务中运行听力图,而无需将其连接到MediaPlayer


我采取了,我的音频图形运行良好,即使前景是暂停!BackgroundMediaPlayer使后台任务保持活动状态,作为奖励,您可以使用
SendMessageToForeground/background
方法与主应用程序进行通信。

如果您只需要听力图而不需要MediaPlayer,实际上,您可以在BackgroundMediaPlayer的后台任务中运行听力图,而无需将其连接到MediaPlayer


我采取了,我的音频图形运行良好,即使前景是暂停!BackgroundMediaPlayer使后台任务保持活动状态,作为奖励,您可以使用
SendMessageToForeground/background
方法与主应用程序进行通信。

我已测试了第二个选项,但不适用于听力图,关于第一个,我使用了大约10种声音同时播放,并应用了多种效果,它发生了变化,因此不是一个静态音频文件,可能是,我已经测试了第二个选项,但不适用于听力图,关于第一次,我使用了大约10种声音同时播放,并应用了多种效果,它发生了变化,因此不是一个静态音频文件,可能是有可能的。我当时正忙于其他项目,我考虑过这一点,但没有时间。另一个后台任务项目可以从主项目中读取MP3吗?有了它,我可以将它标记为答案。你是如何从应用程序运行后台任务winrt的?我测试了新的AudioBackgroundTask().Run(null);播放录音,但当我最小化窗口时,声音停止比那个简单,只是调用一些关于bgmediaplayer的内容并开始运行方法,谢谢,现在新年快乐,现在我可以完成我的应用!!好极了!无法将StorageFile对象直接发送到后台任务,因此必须发送Uri并在后台打开StorageFile。如果这些MP3包含在你的应用程序中,你应该很好,否则你可能需要使用
Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList
,并将令牌传递到后台。在桌面上可以正常工作,但在移动设备上会停止,但我明年会查看:)。谢谢,我忙于其他的项目,我想了想,但没有时间。另一个后台任务项目可以从主项目中读取MP3吗?有了它,我可以将它标记为答案。你是如何从应用程序运行后台任务winrt的?我测试了新的AudioBackgroundTask().Run(null);播放音频图,但当我最小化窗口时,声音停止比这更容易,只需调用有关bgmediaplayer的内容并开始运行方法,谢谢,现在新年快乐,我可以完成我的应用程序了!!好极了!无法将StorageFile对象直接发送到后台任务,因此必须发送Uri并在后台打开StorageFile。如果这些MP3包含在你的应用程序中,你应该很好,否则你可能需要使用
Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList
,并将令牌传递到后台。在桌面上工作正常,但在移动设备上会停止,但我明年会看一看:)。