【问题标题】:Close Video Player Subview if video played Swift iOS如果视频播放 Swift iOS,则关闭视频播放器子视图
【发布时间】:2015-01-26 08:47:55
【问题描述】:

我尝试在视频播放后关闭我的视频播放器。

 func playVideoPepper() {

        var maxVideoCount:Int =  5 //AnzahlderVideos
        var Random = Int(arc4random_uniform(maxVideoCount + 0))
        var VideoNumber = Random + 1


        let path = NSBundle.mainBundle().pathForResource("pepper\(VideoNumber)", ofType:"mp4")
        let url = NSURL.fileURLWithPath(path!)
        moviePlayer = MPMoviePlayerController(contentURL: url)
        if let player = moviePlayer {
            player.view.frame = self.view.bounds
            player.prepareToPlay()
            player.scalingMode = .AspectFill
            player.controlStyle = .None
            self.view.addSubview(player.view)
            var time = player.duration
            println(time)
        }

    }

我试图用 .duration 或 .playableduration 获取其中一个视频(随机播放 5 个视频)的时间,但两者都给我一个 0.00 是否有任何简单的方法可以让子视图在视频中被删除播放了吗?

【问题讨论】:

    标签: ios swift video mpmovieplayercontroller


    【解决方案1】:

    您需要订阅MPMoviePlayerController 中的MPMoviePlayerPlaybackDidFinishNotification。此通知会在播放器播放完视频后发布。

    您可以在viewWillAppear 方法中将控制器添加为观察者:

    NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("playerDidFinish:"), name: MPMoviePlayerPlaybackDidFinishNotification, object: player)
    

    不要忘记从通知中心移除控制器,这通常在viewWillDisappear 方法中完成:

    NSNotificationCenter.defaultCenter().removeObserver(self)
    

    请参阅 MPMoviePlayerController here 的文档

    【讨论】:

    • 我真的不知道如何订阅“通知”等,因为这只是我女儿的一个小项目(来自学习者):(
    • 你可以使用NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("playerDidFinish:"), name: MPMoviePlayerPlaybackDidFinishNotification, object: player)订阅通知,这应该在viewWillAppear方法中完成,你应该在viewWillDisappear方法中删除控制器NSNotificationCenter.defaultCenter().removeObserver(self)
    • 你能把这个添加为帖子吗:)?我很想投赞成票,这将对其他人有很大帮助,而不仅仅是将其作为评论
    • 我已经编辑了我的答案以反映该评论中所说的内容
    猜你喜欢
    • 2015-05-20
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    • 2017-07-19
    相关资源
    最近更新 更多