2011-11-16 6 views
1

私はZuneで再生しているものを再生するために私のアプリケーションの1つで警告音を鳴らそうとしています。私はBackgroundAudioPlayerを使って自分のサウンドを再生しています。現在のZuneの曲を一時停止し、BackgroundAudioPlayerで自分のサウンドを再生してから、Zuneの曲を再開できますか?

私の警告音が再生されると、現在のZuneの曲が停止します。 Zuneトラックを一時停止し、警告音を鳴らしてから、Zuneサウンドを再開する方法はありますか?

は、私はすでにそこだけ1メディアプレーヤーであり、すべての要素がキューに配置されているので、私はこれが可能だとは思わないオーディオがどのように機能するかを見ていた...しかし、私は回避策を見つけるのが大好きです。

答えて

1

サンプルがここにあります:http://msdn.microsoft.com/en-us/library/ff431744(v=vs.92).aspx

サンプルは、この(あなたはXNAを参照してMediaPlayerのクラスを使用するGameTimerオブジェクトを初期化する必要があります注意してください)やっている:あなたが想定したよう

public MainPage() 
{ 
    InitializeComponent(); 

    // Timer to simulate the XNA game loop (SoundEffect class is from the XNA Framework) 
    GameTimer gameTimer = new GameTimer(); 
    gameTimer.UpdateInterval = TimeSpan.FromMilliseconds(33); 

    // Call FrameworkDispatcher.Update to update the XNA Framework internals. 
    gameTimer.Update += delegate { try { FrameworkDispatcher.Update(); } catch { } }; 

    // Start the GameTimer running. 
    gameTimer.Start(); 

    // Prime the pump or we'll get an exception. 
    FrameworkDispatcher.Update(); 
} 

// Flag that indicates if we need to resume Zune playback upon exiting. 
bool resumeMediaPlayerAfterDone = false; 

private void ZunePause() 
{ 
    // Please see the MainPage() constructor above where the GameTimer object is created. 
    // This enables the use of the XNA framework MediaPlayer class by pumping the XNA FrameworkDispatcher. 

    // Pause the Zune player if it is already playing music. 
    if (!MediaPlayer.GameHasControl) 
    { 
     MediaPlayer.Pause(); 
     resumeMediaPlayerAfterDone = true; 
    } 
} 

private void ZuneResume() 
{ 
    // If Zune was playing music, resume playback 
    if (resumeMediaPlayerAfterDone) 
    { 
     MediaPlayer.Resume(); 
    } 
} 
0

を、 Zuneで再生中のものを一時停止し、BackgroundAudioPlayerでトラック/サウンドを再生してから、以前のZuneで再生トラックを再開することはできません。

はBackgroundAudioPlayerはあなたのトラックはキューが削除されるにpreviuslyだったものは何でもBAPによって演奏されるので、Zuneのプレーヤーと同じメディアキューを使用しています。そうでない場合でも、BAPからMediaLibraryのトラックを再生(または再生をトリガー)することはできません。

バックグラウンドオーディオの使用は完全に間違っているようです。 (または使用する必要がある理由はありますか?)
通知音は、ユーザーが既に再生しているオーディオの上に再生しないのはなぜですか? (MediaElementまたはSoundEffectのいずれかを使用しています)この警告通知ノイズは短いエラービープ音だと思うので、他の音楽の上にこのpalyignの問題はないはずです。 VibrateControllerを使用してオーディオ通知を組み合わせることで、何か問題があることをユーザーに明確にすることができます。
また、アプリの実行中に通知が表示されるため、警告の視覚的な表示を使用しないでください。

関連する問題