WP7 Silverlight アプリケーションでバックグラウンド ミュージックを実行する必要があります。ページ間を移動するときに再生を続ける必要があります。
また、別の効果音が再生されたときに停止したくありません。
WP7 Silverlight アプリケーションでバックグラウンド ミュージックを実行する必要があります。ページ間を移動するときに再生を続ける必要があります。
また、別の効果音が再生されたときに停止したくありません。
MediaElementを使用してそれを行うか、XNA SoundEffectsを使用できますが、より良い解決策があります。アプリのSilverXNAプロジェクトを作成します。XNAを実際に使用する必要はありませんが、このプロジェクトは、作業を楽にするものを自動的に作成します。これを使用して、問題なくSilverlightアプリを構築できます。
プロジェクトを作成したら、サウンドファイルをプロジェクトに含めて「7am.mp3」と言い、ビルドアクションを「コンテンツ」に設定します。
GamePage.xaml.csで曲を作成します。
Song music;
次に、これをOnNavigatedTo()に追加します。
music = contentManager.Load<Song>("7am");
この後、この曲を次のように再生できます。
MediaPlayer.Play(music);
音量などを設定できます。
では、なぜこのアプローチなのか?まあ、技術認定ガイドラインによれば、ユーザーがすでに曲を聴いている場合はユーザーに割り込むことができず、SoundEffectsクラスをバックグラウンドミュージックに使用できないため、この方法がそのような柔軟性を得る唯一の方法です。
MediaPlayer.GameHasControl
ユーザーが音楽を再生しているかどうかを確認するために使用できます。
Microsoft.Xna.Framework
解決策は、次の関数を参照して使用することでした。
public static void PlaySound(string soundFile)
{
var stream = Application.GetResourceStream(new Uri(soundFile, UriKind.Relative)).Stream;
if (stream != null)
{
var effect = Microsoft.Xna.Framework.Audio.SoundEffect.FromStream(stream);
Microsoft.Xna.Framework.FrameworkDispatcher.Update();
effect.Play();
}
}
http://spacemigas.wordpress.com/2011/04/07/overcoming-windows-phone-7-mediaelement-limitations/