1

我正在为 Wp7.x 和 Wp8 开发一个应用程序,它在禁用锁定屏幕的情况下运行 YouTube 视频。我已经看到新版本的 MyTube App 和 Microsoft 版本的 Tube 应用程序已被撤回,该功能允许用户在手机通过锁定屏幕锁定时继续收听视频(音频部分)。我想开发一个 YouTube Radio 类型的应用程序,即使在后台运行或在锁定屏幕中运行,它也会不断从 YouTube 站点中提取新的特定类型的 Viedo Url 并播放音频部分。

请参阅 wp8 商店中的 MyTube App 以了解更多我在说什么。

4

2 回答 2

0

在 Windows Phone 8 中,您实际上可以为BackgroundAudioPlayer课程提供视频 URL,它会在后台播放它们。我在 Podcaster 中使用这种技术在音频和视频之间切换,尽管它是触发切换的用户交互。

更新

在 Windows Phone 7 中,这种技术不起作用。此外,当显示锁定屏幕时,MediaElement 将始终暂停视频(即使 ApplicationIdleDetectionMode 已禁用),您也无能为力。

简而言之,您可以在 WP8 中解决它,但在 WP7 上您无能为力

于 2013-06-17T23:51:46.450 回答
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 和 Unobscured 事件处理程序。手机被锁定时会调用 Obscured。在这里,我们应该使用最少的 CPU,更少的电池消耗等。当手机解锁时,Unobscured 会被调用。这是我们可以恢复应用程序所有状态的阶段。

于 2013-06-17T21:49:26.757 回答