Je lis une vidéo à partir d'un contrôleur comme celui-ci:
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()
}
Même après que le contrôleur est détruit et n'est plus utilisé, je reçois ce message de journal toutes les secondes environ:
AQDefaultDevice (173): skipping input stream 0 0 0x0
Je ne demande pas comment masquer ces journaux. Je sais comment faire cela en définissant OS_ACTIVITY_MODE
sur disable
( Voir ceci pour savoir comment masquer ces journaux ). Je crains que le film soit toujours en cours de lecture même après la destruction du contrôleur. Y a-t-il quelque chose qui ne va pas dans la façon dont je joue le film. Ou dois-je effectuer un nettoyage supplémentaire?
Réponses:
J'ai eu ce problème lorsque j'utilise AVPlayer Foundation sur iOS Simulator (xcode 8.1), mais il ne se connecte plus sur les appareils iOS. À mon avis, c'est un bug de journal: le joueur ou la couche est détruit.
mettre à jour
j'ai ceci pour vous corriger les messages de journal indésirables
la source
Non, vous ne faites rien de mal. Il s'agit d'un bug avec les journaux dans Xcode8 + iOS10.
Nous pouvons le contourner de cette manière (l'appareil et le simulateur ont besoin de valeurs différentes):
Ajoutez le nom
OS_ACTIVITY_MODE
et la valeur${DEBUG_ACTIVITY_MODE}
et vérifiez-les (dans Product -> Scheme -> Edit Scheme -> Run -> Arguments -> Environment).Ajouter un paramètre défini par l'utilisateur
DEBUG_ACTIVITY_MODE
, puis ajouterAny iOS Simulator SDK
pourDebug
et définir la valeur de àdisable
(dans le projet -> Paramètres Build -> + -> Paramètres définis par l' utilisateur)la source
Pas vraiment une réponse, mais plutôt un indice qui pourrait aider quelqu'un à déboguer ça ...
J'ai commencé à recevoir cet avertissement dès que j'ai supprimé le framework AVFoundation de mon projet Xcode 9 / iOS 11. J'utilise AVFoundation (en particulier AVPlayer et AVPlayerLayer), mais il a toujours fonctionné et compilé correctement après avoir supprimé le framework de l'éditeur Linked Frameworks and Libraries de la cible, puis le supprimer du dossier Frameworks (j'essayais d'éliminer un avertissement d'exécution différent) .
Le rajouter via l'éditeur de cadres et de bibliothèques liés a éliminé les avertissements d'exécution dans la console.
la source