我需要創建一個MediaElement,當我導航到我的應用程序中的不同頁面時,它將繼續播放。任何想法如何做到這一點?使用Windows Phone 7時,如何創建全局MediaElement?
回答
我其實剛剛找到了解決方案。如果你想擁有的情況下,任何人跑進了同樣的問題...
我不認爲這是可能的。
MediaElement
是一個UIElement
必須託管在一個頁面內工作。
每次瀏覽時,都會在WP7中加載一個新頁面實例。一個非常醜陋的黑客可能會奏效,但我不推薦它。
你想做什麼?
您可以記住它的位置並在頁面上重新啓動它。
- 甚至更早之前,一旦你記下一個問題你的作品自己:)
private MediaElement _mediaElement;
...
_mediaElement = new MediaElement {Volume = 1, AutoPlay = false};
var _pop = new Popup {Child = _mediaElement, IsOpen = true};
這工作的想法音樂將在整個應用程序中播放,請考慮使用MediaPlayer類。
我有一個類似的問題,我發佈在我的博客soltuion。
Windows Phone 7的Silverlight基於頁面導航系統。關鍵點是頁面的生命週期 - 當您導航到另一頁面時,每個頁面都會被刪除。要在整個應用程序生命週期中擁有一個對象(例如單例),它可以放在App類(App.xaml.cs文件)中。 MediaElement絕對是一個應該是一個的對象(必須只有一個音樂播放器)。最好的和簡單的解決方法是放置的MediaElement在XAML(它需要可視化樹的一部分),我已經使用的應用程序資源:
<!--Application Resources-->
<Application.Resources>
<MediaElement x:Name="mediaPlayer" Source="/Sound/horrorSong.mp3" AutoPlay="False" />
</Application.Resources>
然後從任何網頁使用資源字典得到它:
MediaElement player = null; // get the media element from App resources
if (App.Current.Resources.Contains("mediaPlayer"))
{
player = App.Current.Resources["mediaPlayer"] as MediaElement;
}
if (player != null)
{
player.Play();
}
值得注意的是MediaElement無法在Zune連接時播放音樂。提示用戶這是一個好主意。在方法
if (NetworkInterface.GetIsNetworkAvailable())
{
if (NetworkInterface.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
{
zuneTextBlock.Visibility = System.Windows.Visibility.Visible;
return;
}
}
zuneTextBlock.Visibility = System.Windows.Visibility.Collapsed;
此代碼不保證,如果Zune播放器上(用戶仍然可以有插入手機),但極有可能是Zune播放器正在運行(Zune播放器,同時手機連接開始)。
+1 - 爲什麼這次被拒絕?很有幫助。 – 2013-01-19 21:41:58
或者,您可以重新設置PhoneApplicationFrame的模板並將其放在那裏。我在我的應用程序中使用了這個解決方案,我比彈出的解決方案更喜歡它,因爲如果您想要控件和內容,可以將mediaelement與其他所有內容(比如appbar)一起佈局。
- 1. 如何在Windows Phone 7中使用全局樣式?
- 2. Windows Phone 7:在MediaElement中尋求
- 3. Windows Phone 7:未找到全局資源
- 4. 的Windows Phone 7使用Silverlight - MediaElement的不使用此代碼
- 5. 如何使用Windows Phone 7創建Evernote筆記Silverlight
- 6. 如何在Windows Phone 7中使用WPF創建背景動畫?
- 7. 如何在Windows 7上創建全局rakefile?
- 8. 如何 - Windows Phone 7?
- 9. 如何創建的Windows Phone
- 10. 在windows phone 7中創建pppoe連接
- 11. 在Windows Phone創建視頻文件7
- 12. Windows Phone中創建圖像陣列7
- 13. 爲Windows Phone 7創建自定義InputScope
- 14. 在Windows Phone 7上創建WebRequestFactory
- 15. 爲Windows Phone 7創建主題
- 16. windows phone 7:如何創建應用程序主題?
- 17. 如何創建Windows Phone 7作爲服務的應用程序?
- 18. 如何在Windows Phone 7中創建良好的試用體驗?
- 19. 如何在Windows Phone 7中使用BingMapsTask?
- 20. 如何使用Sqlite for Windows phone 7
- 21. 的Windows Phone - 內的MediaElement
- 22. Windows Phone 8全景佈局
- 23. Windows Phone 7應用程序欄,全局事件
- 24. 如何使用Zend_Application_Bootstrap創建全局Zend_Log
- 25. 如何使用帶有IStorage文件的Windows Phone MediaElement
- 26. 創造了Windows Phone 7的
- 27. 如何創建類似Windows Phone 7的主屏幕發射器
- 28. 如何在Windows Phone 7中創建格式化文本?
- 29. 如何在Windows Phone 7中創建連續動畫?
- 30. 如何在Windows Phone 7中創建自定義鬧鐘
經典...一旦我創建一個問題,答案就會出現:)剛剛添加了一個屬性,該屬性保存mediaelement,該屬性在沒有父級的Popup上設置爲子級。 – 2011-01-22 10:25:22