當用戶點擊'播放'按鈕時,我的程序應該播放視頻。然而,「Play」的第一次點擊卻什麼都不做。'MediaElement.CurrentState'由於未知原因而變爲'Closed'
該代碼,這是非常簡單的,它只是調用我的MediaElement,錄像機「的SetSource」,然後播放:
private async void playVideo_Tapped(object sender, TappedRoutedEventArgs e)
{
await setUpVideo();
VideoPlayer.Play();
}
我經歷過「setUpVideo()」多次,那裏的一切像它應該那樣工作,在確定文件存在後它只調用'VideoPlayer.SetSource()'。但直到我在一個方法拋出監控「VideoPlayer.CurrentState」,我才意識到了問題的狀態:
public VideoViewer()
{
this.InitializeComponent();
VideoPlayer.CurrentStateChanged += VideoPlayer_CurrentStateChanged;
}
void VideoPlayer_CurrentStateChanged(object sender, RoutedEventArgs e)
{
var foo = VideoPlayer.CurrentState;
}
如果我檢查「富」,而我的代碼運行我看到的價值在'playVideo_Tapped()'完成後,第一次輕敲(並且只有第一次輕敲)'VideoPlayer.CurrentState'變爲'Opening',然後變回'Closed'!之後的每一次敲擊都會按照'打開'到'播放'然後'已暫停'的正確順序進行,但第一次敲擊總是會關閉。爲什麼是這樣??