tvOS 隐藏时间栏,同时不丢失音频菜单?

tvOS hiding time bar, while not losing audio menu?

在我的 tvOS 应用程序中,我正在播放一个没有定义长度的纯音频流。我发现的是屏幕底部的时间条显示时间指示器(左侧和右侧)在 0:00 和流播放的时间之间闪烁。

我正在查看的两个选项要么告诉 AVPlayerViewController 不显示时间,要么以某种方式屏蔽时间栏,但不会丢失屏幕顶部的音频菜单。谁能提出合适的解决方案

请注意,我只在使用 tvOS 9.2 的模拟器中对此进行了测试。

我目前的代码:

class StreamPlayerViewController: AVPlayerViewController 

    var playerItem:AVPlayerItem?
    var playerLayer:AVPlayerLayer?
    override func viewDidLoad() {
        let videoURL = NSURL(string: "http://example.org/aac.m3u")
        playerItem = AVPlayerItem(URL: videoURL!)
        self.player=AVPlayer(playerItem: playerItem!)

        self.playerLayer=AVPlayerLayer(player: player)

        self.player?.play()
    }

    // hides controller, but also lose access to audio menu
    override func viewDidAppear(animated: Bool) {
        self.playerLayer?.frame=self.view.frame
        self.playerLayer?.backgroundColor=UIColor.blackColor().CGColor
        self.view.layer.addSublayer(self.playerLayer!)
    }

}

我现在的解决方案是扩展 AVPlayer 并覆盖 currentTime 函数:

class CustomAVPlayer : AVPlayer {
    override func currentTime() -> CMTime {
        return CMTime(value: 0, timescale: 60)
    }
}

虽然这不会隐藏时间栏,但它确实确保时间值保持为零,同时不会阻止访问播放设置。