2011-11-16 35 views
1

我試圖在我的應用程序中獲取警告聲音,以播放在Zune中播放的任何內容。我正在使用BackgroundAudioPlayer來播放我的聲音。如何暫停當前的Zune歌曲,用BackgroundAudioPlayer播放我自己的聲音,然後恢復Zune歌曲?

當我的警告聲音播放現在它停止當前Zune的歌曲。有沒有辦法暫停Zune曲目,播放警告聲,然後恢復Zune聲音?

我已經拍了一下聲音是如何工作的,所以我不認爲這是可能的,只有1媒體播放器和所有的元素都放在一個隊列......但我很想找到一個解決辦法。

回答

1

這裏有一個例子:http://msdn.microsoft.com/en-us/library/ff431744(v=vs.92).aspx

樣品是這樣做的(注意,您需要引用XNA和初始化GameTimer對象使用的MediaPlayer類):

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使用相同的媒體隊列的Zune播放器,所以當你的軌道是由BAP無論是previusly在隊列中被移除播放。即使不是無法播放(或觸發播放)來自BAP MediaLibrary的曲目。

使用的背景音樂在這裏似乎完全錯誤的選項。 (或者你有,你必須使用它的理由?)
爲什麼不發揮你的通知聲音在任何音頻用戶已經打頂? (使用MediaElement或SoundEffect。)我會認爲這個警告通知噪音只是一個短小的錯誤嗶嗶聲,所以這個樂曲不應該在任何其他音樂的頂部出現任何問題。您可以將您的音頻通知與使用VibrateController相結合,以幫助向用戶明確指出某些問題。
另外,由於通知是你的應用程序運行時,爲什麼不使用警告的視覺指示?

相關問題