9

カスタム再生コントロールを使用して iOS ビデオ プレーヤーを実装していAVPlayerViewControllerます (つまり、showsPlaybackControlsプロパティは として定義されていますNO)。ほとんどの場合、これは適切に機能しているようです。私が見ている唯一の問題は、プレーヤーでもカスタム アクティビティ インジケーターを使用したいということですがAVPlayerViewController、いくつかの時点でビデオをバッファリングしているときにデフォルトのアクティビティ インジケーターが表示されるようです。

この既定のアクティビティ インジケーター ビューを から削除する方法はありますAVPlayerViewControllerか?

画像は私が説明しているものを示しています。下部のコントロールはカスタムでプレーヤーの上にオーバーレイされていますが、アクティビティ インジケーターはそうではありません。

カスタム コントロールとデフォルトのアクティビティ インジケーターを備えたプレーヤー

4

2 に答える 2

1

私もこの解決策を探しましたが、ビデオの再生を開始したらビデオ プレーヤー ビュー コントローラー ビューを非表示にし、ビデオを再生する準備ができたらもう一度表示します。

private func playVideo() {

    videoPlayer?.play()

    self.addLoader()

    videoPlayerController.view.hidden = true

    videoPlayer?.addObserver(self, forKeyPath: "status", options: NSKeyValueObservingOptions.New, context: nil)
}

public override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {

    if (object?.isEqual(videoPlayer) == true && keyPath == "status") {

        self.removeLoader()
        videoPlayerController.view.hidden = false
    }
}
于 2016-07-12T14:23:30.223 に答える