我正在为UWP开发一个可以在后台播放音乐的音乐播放器应用程序 . 请注意,我使用旧的2层音乐应用程序模式一个用于前景,一个用于背景音乐 .
在应用程序中,我想处理键盘音乐控件,如播放,暂停,下一个和上一个 . 任何人都可以通过正确的方式实现键盘音乐控制来帮助我吗?
您所说的 Play , Pause 等键盘快捷键实际上就是系统媒体传输控件(SMTC) .
Play
Pause
任何人都可以用正确的方式帮助我实现键盘音乐控制吗?
实际上,从Windows 10版本1607开始,默认情况下,使用 MediaPlayer 类播放媒体的UWP应用程序会自动与SMTC集成 . 只需实例化 MediaPlayer 的新实例并将 MediaSource , MediaPlaybackItem 或 MediaPlaybackList 分配给播放器的Source属性,用户将在SMTC中看到您的应用名称,并可以使用SMTC控件播放,暂停和移动播放列表 .
MediaPlayer
MediaSource
MediaPlaybackItem
MediaPlaybackList
在大多数情况下,这是与SMTC交互的推荐方法 . 详细信息请参考Integrate with the System Media Transport Controls . 在某些情况下,您可能需要实施SMTC的手动控制 . 为此请参考Manual control of the System Media Transport Controls .
但我需要它甚至在后台工作 .
根据SystemMediaTransportControls类的评论部分:
系统传输控件允许用户控制背景中的音乐应用程序以及获取和设置正在播放的音轨的当前信息 .
所以SMTC也应该在后台为音乐工作 .
有关样本,请参阅the official sample .
1 回答
您所说的
Play
,Pause
等键盘快捷键实际上就是系统媒体传输控件(SMTC) .实际上,从Windows 10版本1607开始,默认情况下,使用
MediaPlayer
类播放媒体的UWP应用程序会自动与SMTC集成 . 只需实例化MediaPlayer
的新实例并将MediaSource
,MediaPlaybackItem
或MediaPlaybackList
分配给播放器的Source属性,用户将在SMTC中看到您的应用名称,并可以使用SMTC控件播放,暂停和移动播放列表 .在大多数情况下,这是与SMTC交互的推荐方法 . 详细信息请参考Integrate with the System Media Transport Controls . 在某些情况下,您可能需要实施SMTC的手动控制 . 为此请参考Manual control of the System Media Transport Controls .
根据SystemMediaTransportControls类的评论部分:
所以SMTC也应该在后台为音乐工作 .
有关样本,请参阅the official sample .