我正在使用 AVKit 向用户展示视频。
当用户选择一个视频时,它会使用 AVKit 的标准播放器呈现。这使它成为全屏。
如果用户选择将其设为“画中画”,则用户能够继续使用应用程序的其余部分。
这意味着用户可以选择另一个视频来播放,该视频确实与之前在画中画中仍然可见的视频同时播放(全屏)。
我想在选择第二个视频时关闭第一个(PiP)视频,但是,在启动第二个视频之前,我尝试“关闭”前一个视频,但它不起作用。
我认为这是因为它被显示为画中画,所以 AVPlayerViewController 不再代表它......
有没有办法简单地做到这一点?
如果尝试播放第二个视频,则播放带有(不工作)尝试杀死第一个视频的视频:
func play(FileName filename: String, FileType type: String)
{
if self.isVideoPlaying == YES
{
self.playerController!.dismiss(animated: YES, completion: { self.isVideoPlaying = NO ; self.play(FileName: filename, FileType: type) })
return
}
self.isVideoPlaying = YES
let path = Bundle.main.path(forResource: filename, ofType: type)
let url = NSURL(fileURLWithPath: path!)
let player = AVPlayer(url: url as URL)
...