0

認定のためにバックグラウンドオーディオアプリを提出しましたが、理由がわからない2つの理由で失敗しました。

理由1:

このアプリは、再生、一時停止、または再生/一時停止イベントの少なくとも1つに正しく応答できませんでした。

、、およびのMediaControlイベントをケータリングする必要があることを理解しており、コードでそれを行っています(そして、タブレットとローカルデバイスの両方でテストされています)。ただし、メディアストリームを停止して再開するのに予想以上の時間がかかるため、「一時停止」と「停止」の両方に使用しました。PlayPauseStopPlayPauseMediaElement.Pause()

認証段階で同様の問題を抱えていた別の投稿を読みました。代わりに誰かが使用することをお勧めしますMediaElement.PlaybackRate = 0;。ただし、ストリームが先に進まないため、これは長い一時停止には理想的ではありません。

私が知りたいのは、これを正しい方法で行っているかどうかです。すべてのMediaControlイベントで、MediaControl.IsPlayingプロパティも正しく設定されていることを確認しました。

また、失敗したもう1つの理由は次のとおりです。

アプリはWindowsACKでのパフォーマンステストに失敗しました。詳細については、次のリンクを参照してください。実行されたテストケース:http: //msdn.microsoft.com/en-us/library/windows/apps/hh920274.aspx

ACKに対してアプリを実行しましたが、すべて合格しました。suspend mode私が考えることができる唯一のことは、ハードウェア(または画面上の)メディアコントロールの一時停止ボタンが押されたときにアプリが入らないということです。イベントにデバッガーを配置しましたApp_Suspendingが、そこにヒットすることはありません。

説明が曖昧すぎるので、これが問題なのかわかりません。しかし、その場合、アプリを強制的に一時停止モードにする方法を知ることができますか?私はWindow.CurrentクラスとApplication.Currentクラスを調べてみましたが、役に立ちませんでした。

ありがとう!

4

2 に答える 2

0

最初の問題では、メディア要素が次を使用して再生する準備ができていることを確認してください。

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

CurrentTrack.Play();

また、ビューがアンロードされるときにメディア要素を停止する必要があります。

よろしく。

于 2013-01-24T10:05:54.443 に答える
0

アプリのリリースを10回近く試みた後、Microsoftの人々による推測作業のおかげで、ようやく問題の根本にたどり着きました。

アプリの起動後、アプリは自動的にMediaElementストリーミングを開始します。バックグラウンド対応のオーディオは、アプリが一時停止モードに入らないため、アプリがWACKを通過するのを防ぎます。

そのため、ストアのWACKをパスするために、自動起動機能を削除する必要がありました。これで、アプリがストアに追加されました。(ふぅ)。

于 2013-01-26T07:20:40.480 に答える