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