トライアスロン2013用サンプル補足

#wpdev_jp #wpjp

お待たせしました。 先日お伝えした Windows Phone アプリケーショントライアスロン 2013 がスタートしました!

公式サイト:https://bit.ly/wpapptri2013

公開されているサンプルですが、1つが 音楽プレイヤーのサンプルです。

Music Player サンプル

  • デバイスに保存されている、アルバムを表示します。
  • アルバムをタップすると再生します。
  • 再生中は再生してる曲が表示され、タイトルとジャケット写真がアニメーションします。
  • 次の曲、前の曲に進めたり、一時停止を行うことができます。

wp_ss_20121225_0001wp_ss_20121225_0002wp_ss_20121225_0003

コード補足

音楽を再生する場合は、今別の音楽を聞いている場合、それを止めてしまいます。この場合は、必ずユーザーに確認をしなければなりません。この処理をしないと審査で落ちてしまいます。

現在のサンプルでは再生時に確認処理を入れていますが、現状では音楽が再生していようといなかろうと関係なく聞いてきます。

このままでもいいですが、もう少しスマートに(再生中のみ確認する)する場合は以下のコードを追加します。この場合は、MediaPlayer.Stateで音楽を再生しているかどうかを確認することができるので、それを使って音楽を再生していない場合は確認の上、再生許諾フラグ bPlayerOK を true にします。

 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// ①画面が最初に表示されたらこの関数が呼ばれます。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
private void PhoneApplicationPage_Loaded_1(object sender, RoutedEventArgs e)
{
    //音楽の再生はデバイス上で1つのみとなります。
    //そのため、現在音楽を再生している場合、アプリ内で音楽を再生すると、今再生している音楽が停止してしまいます。
    //ですので、現在音楽を再生している場合は、それを停止してもいいか許可を求める必要があります。(必須)
    if (
        (MediaPlayer.State != MediaState.Playing)||
        (MessageBox.Show(
        "音楽を再生している場合は停止します。よろしいですか?", 
        "再生", 
        MessageBoxButton.OKCancel)
        == MessageBoxResult.OK))
    {
        bPlayOK = true;
    }

    //デバイスに保存されているアルバムの一覧を取得してリスト表示します。
    listBox1.ItemsSource = (from m in lib.Albums select m).ToList();
} 

サンプルコードに関する注意

サンプルをベースに作成されたアプリケーションについては、アイコン、背景画像、アプリ名、はオリジナルのもので、別途オリジナルの機能がない場合は、応募条件を満たしていないとみなす場合があるのでご注意ください。

というか、場合によっては審査に落ちる場合もあるので、ぜひオリジナルの機能(デザインでも可)を入れてみてください。