我正在为Wp7.x和Wp8开发一个应用程序,该应用程序在禁用锁定屏幕的情况下运行YouTube视频。 我已经看到新版本的MyTube应用程序和微软版本的电子管应用程序已被撤回,其功能允许用户在通过锁定屏幕锁定手机时继续收听视频(音频部分)。我想开发一种YouTube收音机类型的应用程序,该应用程序不断从youTube网站提取新的特定类型的Viedo Url,即使在后台或在锁定屏幕中运行,也可以播放音频部分。
请参阅wp8商店中的MyTube应用程序,了解我所谈论的内容。
答案 0 :(得分:0)
当手机屏幕锁定时,Windows Phone应用程序进入休眠/逻辑删除模式。可以通过更改PhoneApplicationService类的UserIdleDetectionMode和ApplicationIdleDetectionMode属性来更改此行为。默认情况下,UserIdleDetectionMode和ApplicationIdleDetectionMode设置为Enable,这允许服务在用户空闲时锁定手机,并在手机锁定时停用应用程序。
如下所示,我使用了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的Obscured and Unobscured事件处理程序。手机被锁定时会被调暗。在这里,我们应该使用最少的CPU,更少的电池消耗等。当手机解锁时,Unobscured会被调用。这是我们可以恢复应用程序的所有状态的阶段。
答案 1 :(得分:0)
在Windows Phone 8中,您实际上可以向BackgroundAudioPlayer
课程提供视频网址,并且它会在后台播放。我在Podcaster中使用这种技术在音频和视频之间切换,尽管它是触发切换的用户交互。
<强>更新强>
在Windows Phone 7中,此技术不起作用。此外,MediaElement将在显示锁定屏幕时始终暂停视频(即使禁用了ApplicationIdleDetectionMode),也无法对此进行任何操作。
简而言之,你可以在WP8中解决它,但在WP7上你无能为力