奇妙なAQDefaultDeviceロギング


140

私はこのようなコントローラーからビデオを再生しています:

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()
}

コントローラーが破壊されて使用されなくなった後でも、毎秒程度このログメッセージが表示されます。

AQDefaultDevice (173): skipping input stream 0 0 0x0

これらのログを非表示にする方法は尋ねていません。私は設定して、それを行う方法を知っているOS_ACTIVITY_MODEdisableこれらのログを非表示にする方法については、これを参照してください)。私の懸念は、コントローラーが破壊された後でも、映画がまだ何らかの形で再生されている可能性があることです。映画の再生方法に問題はありませんか。または、追加のクリーンアップを実行する必要がありますか?


この答えはあなたに合うと思います。ログを削除する方法を詳しく説明しています。stackoverflow.com/a/40336926/4602597
MessuKilkain

6
私の質問は、不要なログを隠す方法についてではありませんでした。最後の段落でそれを明確にしました。私の質問は、その特定のログがAVPlayerに関連するリリースされていないリソースを指しているかどうかでした。
RajV 2017


この質問(およびコメントにリンクされている解決策)を見つけた唯一の理由は、マルチメディアプレーヤーオブジェクトのログのこの迷惑な側面を無効にすることです。FWIW。しかし、そうです、どうやらあなたは正しいことをしていて、ログは期待通りに動作していません。
アレックスホール

これはとても迷惑です。なぜプレイヤーが停止しなかったのかを判断するために何時間も費やしましたが、今では-私の知る限り-これはXCodeのバグです。@RajVの他の回答を見つけたことがありますか?
David Vincent Gagne 2017

回答:


67

iOSシミュレーター(xcode 8.1)でAVPlayer Foundationを使用するとこの問題が発生しましたが、iOSデバイスではログに記録されなくなりました。私の意見では、それはログのバグです。プレイヤーまたはレイヤーが破壊されます。


更新

不要なログメッセージ修正するためにこれを取得しました


同じログを持ち、AVPlayer Foundationを使用しません。
Dima Deplov 2016年

これについてはよくわかりません。Xcode7を使用すると、ログメッセージが消えます
zippo

1
私はAVPlayer使用した後、同じ問題を抱えている
ベン

こんにちは、私は
zippo

101

いいえ、あなたは何も悪いことはしません。これはXcode8 + iOS10のログのバグです。


この方法でそれを回避できます(デバイスとシミュレーターには異なる値が必要です):

名前OS_ACTIVITY_MODEと値${DEBUG_ACTIVITY_MODE}を追加して確認します(製品->スキーム->スキームの編集->実行->引数->環境)。

ここに画像の説明を入力してください

ユーザー定義設定DEBUG_ACTIVITY_MODEを追加Any iOS Simulator SDKしてDebugから、値を追加して設定しますdisable(プロジェクト->ビルド設定-> +->ユーザー定義設定)。

ここに画像の説明を入力してください


8
私の質問を読みましたか?OS_ACTIVITY_MODEを使用してロギングを無効にできることはすでに述べました。それはこの質問のポイントではありません。
RajV 2016年

これはXcode8 + iOS10のログのバグです。-これはあなたの質問に対する答えです。
Igor

私が尋ねた質問は、これらのログメッセージを非表示にする方法についてではありません。「映画の再生方法に問題はありますか。それともクリーンアップが必要ですか?」
RajV 2016年

22
シミュレータでの実行からデバイスでの実行に切り替えるたびに、手動で環境変数を変更する必要がある「解決策」は、まったく解決策ではありません。
マット

14
より良い解決策が見つかれば、教えてください。
Igor

0

本当に答えではありませんが、誰かがこれをデバッグするのを助けるかもしれないもっと多くの手がかり...

Xfound 9 / iOS 11プロジェクトからAVFoundationフレームワークを削除するとすぐに、この警告が表示され始めました。私はAVFoundation(特にAVPlayerとAVPlayerLayer)を使用していますが、ターゲットのリンクフレームワークとライブラリエディターからフレームワークを削除し、それをFrameworksフォルダーから削除した後も実行され、正常にコンパイルされます(別のランタイム警告を排除しようとしました) 。

Linked Frameworks and Librariesエディターを介して再度追加すると、コンソールのランタイム警告がなくなりました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.