我正在为Wp7.x和Wp8开发一个应用程序,它运行锁定屏幕禁用的YouTube视频。我已经看到新版本的MyTube应用程序和微软版本的tube应用程序已经被拉回了一个功能,允许用户在手机通过锁屏锁定时继续收听视频(音频部分)。我想开发一个YouTube无线电类型的应用程序,不断从youTube网站拉新的特定类型的Viedo网址,并播放音频部分,即使在后台运行或在锁定屏幕。
查看wp8商店中的MyTube应用程序,了解更多我正在谈论的内容。
发布于 2013-06-18 05:49:27
当电话屏幕锁定时,Windows Phone应用程序将进入休眠/逻辑删除模式。可以通过更改PhoneApplicationService类的UserIdleDetectionMode和ApplicationIdleDetectionMode属性来更改此行为。默认情况下,UserIdleDetectionMode和ApplicationIdleDetectionMode设置为启用,允许服务在用户空闲时锁定电话,并在电话锁定时停用应用程序。
如下所示,我使用了ApplicationIdleDetectionMode,当设置为Disable时,它不会在手机锁定时停用应用程序。
PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;
PhoneApplicationFrame rootFrame = App.Current.RootVisual as PhoneApplicationFrame;
if (rootFrame != null)
{
rootFrame.Obscured += new EventHandler<ObscuredEventArgs>(rootFrame_Obscured);
rootFrame.Unobscured += new EventHandler(rootFrame_Unobscured);
}一旦禁用了ApplicationIdleDetectionMode,在重新启动应用程序之前将无法启用它。如果您尝试启用它,它将抛出异常。要处理设备的锁定和解锁状态,可以调用RootFrame的模糊和未模糊事件处理程序。当电话被锁定时,将调用模糊不清。在这里,我们应该使用最小的CPU,更少的电池消耗等,当手机解锁时,unlocked会被调用。这是我们可以恢复应用程序的所有状态的阶段。
发布于 2013-06-18 07:51:46
在Windows phone8中,您实际上可以将视频URL提供给BackgroundAudioPlayer类,然后它将在后台播放它们。我在Podcaster中使用这种技术来在音频和视频之间切换,尽管是用户交互触发了这种切换。
已更新
在Windows phone7中,这种技术不起作用。此外,当显示锁定屏幕时,MediaElement将始终暂停视频(即使ApplicationIdleDetectionMode被禁用),而您对此无能为力。
简而言之,您可以在WP8中解决这个问题,但在WP7上却无能为力
https://stackoverflow.com/questions/17153396
复制相似问题