Windows phone 8 如何在Windows Phone Silverlight 8.1中使用背景媒体播放器

Windows phone 8 如何在Windows Phone Silverlight 8.1中使用背景媒体播放器,windows-phone-8,windows-phone-8.1,Windows Phone 8,Windows Phone 8.1,我正在为Windows 8.1开发Windows Phone应用程序。我需要使用运动类、独立存储等功能。因为Windows Phone 8.1不支持这些功能,所以我选择了Windows Phone Silverlight 8.1。现在我必须在我的项目中使用BackgroundMediaPlayer,Windows Phone Silverlight 8.1不支持Windows.Media.Playback。是否有任何可能的方法可以使用所有基本API,如:- -Microsoft.Devices.

我正在为Windows 8.1开发Windows Phone应用程序。我需要使用运动类、独立存储等功能。因为Windows Phone 8.1不支持这些功能,所以我选择了Windows Phone Silverlight 8.1。现在我必须在我的项目中使用BackgroundMediaPlayer,Windows Phone Silverlight 8.1不支持Windows.Media.Playback。是否有任何可能的方法可以使用所有基本API,如:-

-Microsoft.Devices.Sensors

-Microsoft.Xna.Framework

-System.IO.IsolatedStorage-System.Windows.Media.Imaging

并使用BackgroundMediaPlayer,运动类??任何帮助都会非常有用

谢谢


Ekta

您可以通过创建一个新的
Windows运行时组件来实现这一点。这是音频任务的入口点。入口点是一个实现
IBackgroundTask
的类。这为您提供了一个在启动名为Run的音频任务时调用的方法

为了使任务无限期地处于活动状态,您需要跟踪
IBackgroundTaskInstance
上存在的延迟。把延期放在一个安全的地方就足够了。当操作系统取消您的任务时,您需要调用Complete来完成上述延迟

任务的基本实现示例如下所示

public sealed class AudioPlayer : IBackgroundTask
{
    private BackgroundTaskDeferral _deferral;
    public void Run(IBackgroundTaskInstance taskInstance)
    {
        _deferral = taskInstance.GetDeferral();
        taskInstance.Canceled += TaskInstance_Canceled;
    }
    private void TaskInstance_Canceled(IBackgroundTaskInstance sender, BackgroundTaskCancellationReason reason)
    {
        _deferral.Complete();
    }
}

有关更多参考信息,请转到播放和()中的背景音频。您正在尝试使用以下选项:

支持的最低手机Windows phone 8.1[仅限Windows运行时应用程序]

仅适用于运行时

至于在Silverlight 8.1中使用,有一个问题-它不起作用。这是一个:

Silverlight 8.1不支持AudioPlayerAgent和AudioStreamingAgent类,它们支持Windows Phone 8应用程序的后台音频播放。如果要支持背景音频播放,可以继续使用Windows Phone 8应用程序或创建支持新背景音频API的Windows Phone应用商店应用程序

所以在这种情况下,您必须编写以WP8.0 Silverlight或WP8.1商店应用程序为目标的应用程序


类似的问题是。

我曾尝试在Windows Phone 8.1 Silverlight AudioPlaybackAgent项目中实现BackgroundAudioPlayer类,并尝试在Windows Phone 8.1 Silverlight中调用其函数。它不会显示任何错误,但应用程序无法播放媒体文件。你能提供一些建议吗?@user370167如果你试过最好。至于你的代码,很多事情可能会出错——你是否在AudioAgent项目中添加了引用?我只实现了这个示例,并添加了引用。我使用Windows Phone Silverlight 8.1音频播放代理项目来实现BackgroundAudioPlayer,并使用Windows Phone Silverlight 8.1项目来实现其功能。所有内容都按照示例实现,但应用程序无法播放媒体文件。@user370167我不确定-您是否尝试运行MSDN示例?您是否尝试过调试您的程序并查看AudioPlayer是否正在接收命令?可能aduio文件有问题,而不是代理?MSDN示例在Windows Phone 8.0中运行良好,但在Windows Phone Silverlight 8.1中实现后,它就不工作了。我已经调试了AudioPlayer类没有收到任何命令的程序。在BackgroundAudioPlayer.Instance.Play()命令之后,应用程序无法调用AudioPlayer类。应用程序的基本思想是,我需要在后台收集运动传感器数据,并播放媒体文件,即使用户不在应用程序中。如果我在Windows运行时组件中实现AudioPlayer类,我将如何在后台收集传感器数据。