捕捉 VLCMobileKit 的警报视图 iOS
Catch the alert view of the VLCMobileKit For iOS
在我的 swift 项目中,我在其中实现了一个 VLC 播放器和一个 activity 指示器。每次当我加载远程流视频失败时,它都会弹出一个警告视图说 Your input can't be opened
。我想捕捉这个 alertView 并停止我的 activity 指示器,但不知道如何。
我找遍了所有的delegate,像VLCMediaDelegate和VLCMediaPlayerDelegate,都达不到我的要求
有人能告诉我如何在警报显示时停止 activity 指标吗?
终于,我找到了解决办法。
添加ViewController作为VLCMediaPlayerDelegate,实现方法mediaPlayerStateChanged
在这个方法里面,我发现当弹出alert的时候,VLCPlayer的state会等于0!
代码是这样的:
public func mediaPlayerStateChanged(aNotification: NSNotification!) {
if self.vlcPlayer.state.rawValue == 0
{
liveLoadingIndicator.stopAnimating()
}
}
希望这可以帮助像我这样的人。
来自 this answer(Swift-化):
var player: VLCMediaPlayer = VLCMediaPlayer(options: ["--extraintf="])
我以前自己编译过,就像接受的答案一样,但那是一个 PITA。
在我的 swift 项目中,我在其中实现了一个 VLC 播放器和一个 activity 指示器。每次当我加载远程流视频失败时,它都会弹出一个警告视图说 Your input can't be opened
。我想捕捉这个 alertView 并停止我的 activity 指示器,但不知道如何。
我找遍了所有的delegate,像VLCMediaDelegate和VLCMediaPlayerDelegate,都达不到我的要求
有人能告诉我如何在警报显示时停止 activity 指标吗?
终于,我找到了解决办法。
添加ViewController作为VLCMediaPlayerDelegate,实现方法mediaPlayerStateChanged
在这个方法里面,我发现当弹出alert的时候,VLCPlayer的state会等于0!
代码是这样的:
public func mediaPlayerStateChanged(aNotification: NSNotification!) {
if self.vlcPlayer.state.rawValue == 0
{
liveLoadingIndicator.stopAnimating()
}
}
希望这可以帮助像我这样的人。
来自 this answer(Swift-化):
var player: VLCMediaPlayer = VLCMediaPlayer(options: ["--extraintf="])
我以前自己编译过,就像接受的答案一样,但那是一个 PITA。