2014-05-23 130 views
0

開發工具:Visual Studio 2012,目標wp平臺:wp8。WP8在應用程序背景時播放聲音

我面對上述問題:

當我的應用程序在後臺運行,我收到一個通知我震動的手機成功的,我想打一個特定的聲音。

是我迄今爲止嘗試:

Player = new MediaElement(); 

        Player.AutoPlay = true; 
        Player.Volume = 5; 
        Player.Source = new Uri("/data/alert.mp3", UriKind.RelativeOrAbsolute); 
        Player.MediaOpened += (Object s, RoutedEventArgs args) => 
        { 
         Player.Play(); 
        }; 

我我沒有得到任何異常,但沒有聲音。無論是在前景還是背景。 我錯過了什麼?

我會很感激任何幫助。

回答

3

當應用程序處於後臺時,無法使用MediaElement API播放通知聲音。爲了啓動通知並播放自定義聲音,您需要使用ShellToast並通過反射使用Sound屬性。

這裏是如何從後臺播放定製的通知聲音(MSDN鏈接)Using custom sounds in toasts on Windows Phone 8 Update 3

編輯:當應用程序在前臺運行,你可以使用同樣的技術(ShellToast帶聲音)。

+0

有趣的...我會嘗試它。至於前景? –

+0

我編輯了我的答案:) –

+0

Thx很多+1爲您的嘗試,我需要的解決方案:) –

1

即使MediaPlayer類也可以幫助您在顯示敬酒或小型彈出對話框時在後臺播放歌曲和媒體。

請點擊這裏:http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.media.mediaplayer.play.aspx

+0

當整個應用程序在後臺運行時可以播放聲音嗎? –

+0

是的,它確實發揮。 我已經播放了與上述類似情況下的音頻。我用過MediaPlayer,它確實很好。你需要讓歌曲在手邊播放。而已。 –