我有AVPlayer,當我移動到下一頁時,播放器繼續播放,如果我添加觀察者,他們會崩潰,如果我不處理它們但我無法找到處理方法因爲ContentView在後臺沒有告訴你,所以需要處置。如何停止在頁面上播放AVPlayer Xamarin表單
請幫忙?
我有AVPlayer,當我移動到下一頁時,播放器繼續播放,如果我添加觀察者,他們會崩潰,如果我不處理它們但我無法找到處理方法因爲ContentView在後臺沒有告訴你,所以需要處置。如何停止在頁面上播放AVPlayer Xamarin表單
請幫忙?
在Xamarin表單中,ContentView無法找出託管頁面何時消失,除非它從頁面本身獲得幫助。所以,我是如何實現這種以前如下:
步驟1)在你的內容查看定義一個OnDisappearing方法
在您的內容查看定義一個名爲OnDisappearing和裏面的方法,做任何你需要的時候視圖消失 - 在你的情況下,聽起來像你需要刪除你的觀察者和處置你的球員。因此,這將是這個樣子:
public void OnDisappearing()
{
_playerPositionChangedObserver?.Dispose();
_player?.Dispose();
}
定義這個方法本身不會做任何事情,你需要真正的從一個地方把它叫做 - 這是該頁面出現在...
步驟2)在你的頁面
的頁面會被告知時,它的出現或消失,你可以用它來再往前就到其他內容查看重寫OnDisappearing方法。在下面我的頁面的例子重寫OnDisappearing方法,然後調用我在踩我的內容查看定義1.
public class MyPage : ContentPage
{
public MyPage()
{
InitializeComponent();
}
/// <summary>
/// Performs page clean-up.
/// </summary>
protected override void OnDisappearing()
{
base.OnDisappearing();
contentView.OnDisappearing();
}
}
我正在嘗試類似的東西。如果這能正常工作,我會告訴你。謝謝 ! –
使用頁面的'OnDisappearing'及導線上的事件到您的自定義渲染器或依賴服務,該方法停止avplayer和任何其他乾淨你需要做的。 – SushiHangover
是的這種方式退出,但我想要更準確的東西。 –
'更準確'? – SushiHangover