Microsoft metro 后台音频流应用的认证失败

Microsoft metro 后台音频流应用的认证失败,microsoft-metro,audio-streaming,windows-store-apps,Microsoft Metro,Audio Streaming,Windows Store Apps,我提交了一个后台音频应用程序进行认证,但失败的原因有两个,我不知道为什么 理由1: 此应用程序未能正确响应至少一个播放, 暂停,或播放/暂停事件 我理解需要在代码中为播放、暂停、停止和播放暂停的MediaControl事件提供服务,并且已经在代码中进行了测试(并在平板电脑和正在工作的本地设备上进行了测试)。但是,由于停止媒体流并重新启动它需要比预期更长的时间,我对“暂停”和“停止”都使用了MediaElement.Pause() 我读到谁在认证阶段有类似的问题。有人建议使用MediaElemen

我提交了一个后台音频应用程序进行认证,但失败的原因有两个,我不知道为什么

理由1:

此应用程序未能正确响应至少一个播放, 暂停,或播放/暂停事件

我理解需要在代码中为
播放
暂停
停止
播放暂停
MediaControl
事件提供服务,并且已经在代码中进行了测试(并在平板电脑和正在工作的本地设备上进行了测试)。但是,由于停止媒体流并重新启动它需要比预期更长的时间,我对“暂停”和“停止”都使用了
MediaElement.Pause()

我读到谁在认证阶段有类似的问题。有人建议使用
MediaElement.PlaybackRate=0取而代之。但是,这对于长时间暂停并不理想,因为流不会继续移动

我想知道的是我这样做对吗?对于所有我的
MediaControl
事件,我已确保
MediaControl.IsPlaying
属性也已正确设置

此外,它失败的另一个原因是:

应用程序未能通过Windows确认中的性能测试。请参阅以下链接 有关更多信息:运行的测试用例:

我已经针对ACK运行了我的应用程序,并且都通过了。我能想到的唯一一件事是,当按下硬件(或屏幕上)媒体控制暂停按钮时,应用程序不会进入暂停模式。我在
App\u Suspending
事件中放置了一个调试器,但它从未在那里运行过

由于描述太模糊,我不确定这是否是问题所在。但如果是这样的话,我能知道如何强制应用程序进入暂停模式吗?我试着在
窗口中查看.Current
类和
应用程序.Current
类,但没有效果


谢谢

对于第一期,请确保您的媒体元素已准备好使用以下工具播放:

while (CurrentTrack.CurrentState == MediaElementState.Opening || CurrentTrack.CurrentState == MediaElementState.Buffering)
{
   await Task.Delay(100);
}

CurrentTrack.Play();
在卸载视图时,您还必须停止媒体元素


问候。

在发布该应用程序的近10次尝试后,我终于找到了问题的根源,这也要感谢微软员工的一些猜测

应用程序启动后,我的应用程序将自动启动
MediaElement
流媒体。支持后台的音频将阻止应用程序通过WACK,因为它永远不会进入暂停模式


因此,为了通过商店的怪事,我不得不删除自动启动功能,现在应用程序在商店里!(呸)。

感谢您的回复,在触发
MediaElement\u MediaOpen
事件后,流媒体音频被检查并标记为准备播放。我还发现,只要安装了调试器,应用程序就不会进入暂停模式。似乎app store要求在应用程序进入暂停模式时释放所有媒体资源(即使对于支持后台音频的应用程序也是如此),我通过释放流媒体源解决了这个问题。谢谢