Windows Phone FM Radio Level CheckerがMarketplaceでまたReject?
あ~あ、またRejectされちまったい…て事で、現在Windows Phone 7のMarketplaceに申請中のFM Radio Wave Level Checker(まぁ…なんちゃってアプリ系ですが)、2回目のRejectを食らいました。前回は、「フレームカウンター表示されとんでぇ」でしたが、今回は、何でRejectされたか紹介しておきます。多分Radio系をいぢるアプリを作る時の参考ぐらいにはなるでしょう。
アプリケーションへのRequirementsに、「ユーザーがバックグラウンドで音楽聞いてるとき、邪魔しちゃ駄目ん」という項目があります。FM Radio Wave Level Checkerは、ラジオをONにしてある周波数の電波の強度を測る為、バックグラウンドで演奏されている音楽が必然的に止まってしまいます。
そこんとこ意識してなかったので、2度目のRejectを食らったわけですわ。
音楽がPlay中かどうかは、次のコードで簡単にわかります。
if (Microsoft.Xna.Framework.Media.MediaPlayer.State == Microsoft.Xna.Framework.Media.MediaState.Playing)
{
...
この条件式がtrueなら、ユーザーに「You 止める?」というメッセージを出して、ユーザーの同意を得て止める操作が必要なんですね。
演奏終了は、MediaPlayer.Stop()をコールすれば良いのですが、MediaPlayerの状態を変えるメソッドをコールするには、マイクの使い方で説明した、処理ループを用意しないといけないらしいので、今回は時間もなく、「止めてん」という表示を出すに留めました。
これで、Marketplace通るといいなぁ・・・