c# - Xamarin iOS RemoveObserver AVPlayerItem
问题描述
我已经为 AVPlayerItem 设置了一个状态观察器,但我无法删除它。
if(_aPlayer.CurrentItem != null)
{
_aPlayer.CurrentItem.RemoveObserver(HandleAction1, "status")
}
var aAsset = AVAsset.FromUrl(NSUrl.FromFilename("some_sounds.mp3"));
var aPlayerItem = new AVPlayerItem(audioAsset);
_aPlayer.ReplaceCurrentItemWithPlayerItem(audioPlayerItem);
aPlayerItem.AddObserver("status", NSKeyValueObservingOptions.OldNew, HandleAction1);
收到错误“无法将方法组转换为 nsobject”
解决方案
AVPlayerItem.AddObserver
返回一个IDisposable
您需要保留引用的。
当您完成对它的可观察调用 Dispose 时。
var statusObserver = aPlayerItem.AddObserver("status", NSKeyValueObservingOptions.OldNew, HandleAction1);
statusObserver.Dispose();
推荐阅读
- typo3 - Typoscript 9.5 渲染文件对象,如 Contentelement
- c++ - 由于方法重载,C++ 移动语义和代码重复
- javascript - 为什么这个异步函数没有等待
- javascript - 将对象数组分解为用于数据库存储的单独变量(React、express、sql server)
- c - Mex C 型文件到普通 C 文件
- amazon-web-services - 当 API Gateway 返回错误 500 时发送 Slack 通知
- angular - HashLocationStrategy 在 Angular 7 中不起作用
- ios - 将字典数组转换为字典数组
- amazon-web-services - 跨账户 SNS 在第二个账户订阅 Lambda
- excel - 我的页面加载缓慢。代码需要更快有什么建议吗?