次のようにコントローラーからビデオを再生しています:
func playMovie() {
let path = Bundle.main.path(forResource: "xyz", ofType:"mov")
let url = URL(fileURLWithPath: path!)
self.player = AVPlayer(url: url)
let layer: AVPlayerLayer = AVPlayerLayer(player: self.player)
layer.frame = self.view.frame
layer.videoGravity = AVLayerVideoGravityResizeAspectFill
self.view.layer.addSublayer(layer)
self.player.play()
}
コントローラーが破棄され、使用されなくなった後でも、1 秒ごとに次のログ メッセージが表示されます。
AQDefaultDevice (173): skipping input stream 0 0 0x0
OS_ACTIVITY_MODE
これらのログを非表示にする方法を尋ねているのではありません。設定することで非表示にする方法は知っていますdisable
(これらのログを非表示にする方法についてはこちらをご覧ください)。コントローラーが破壊された後でも、映画が何らかの形で再生され続ける可能性があるのではないかと心配しています。映画の再生方法に問題があるのでしょうか。それとも、追加のクリーンアップを実行する必要がありますか?
ベストアンサー1
いいえ、何も間違っていません。これは、Xcode8 + iOS10 のログのバグです。
これを回避できる方法は次の通りです (デバイスとシミュレーターには異なる値が必要です)。
名前OS_ACTIVITY_MODE
と値を追加し${DEBUG_ACTIVITY_MODE}
て確認します (製品 -> スキーム -> スキームの編集 -> 実行 -> 引数 -> 環境)。
ユーザー定義設定を追加しDEBUG_ACTIVITY_MODE
、 を追加してAny iOS Simulator SDK
そのDebug
値を に設定しますdisable
(プロジェクト -> ビルド設定 -> + -> ユーザー定義設定)