Dziwne rejestrowanie AQDefaultDevice


140

Odtwarzam wideo z kontrolera takiego:

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

Nawet jeśli kontroler jest zniszczony i nie jest już używany, co sekundę otrzymuję ten komunikat dziennika:

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

Nie pytam jak ukryć te logi. Wiem jak to zrobić poprzez ustawienie OS_ACTIVITY_MODEna disable( Zobacz to na jak ukryć te dzienniki ). Martwię się, że film może nadal w jakiś sposób odtwarzać się nawet po zniszczeniu kontrolera. Czy jest coś złego w sposobie odtwarzania filmu? Czy muszę przeprowadzić dodatkowe czyszczenie?


Myślę, że ta odpowiedź będzie dla Ciebie odpowiednia. Wyjaśnia sposób usuwania dziennika z dodatkowymi szczegółami. stackoverflow.com/a/40336926/4602597
MessuKilkain

6
Moje pytanie nie dotyczyło tego, jak ukryć niechciane dzienniki. Wyjaśniłem to jasno w ostatnim akapicie. Moje pytanie dotyczyło tego, czy ten konkretny dziennik wskazywał na niewydany zasób związany z AVPlayerem.
RajV


Jedynym powodem, dla którego znalazłem to pytanie (i rozwiązanie powiązane w komentarzach) jest wyłączenie tego irytującego aspektu dziennika jako obiektu odtwarzacza multimedialnego, ponieważ przeszkadza on w czytaniu innych dzienników; FWIW. Ale tak, najwyraźniej robisz wszystko dobrze, a dziennik nie zachowuje się tak, jak powinien.
Alex Hall

To jest takie irytujące. Spędziłem godziny, próbując ustalić, dlaczego odtwarzacz się nie zatrzymuje, a teraz - o ile wiem - jest to błąd XCode. Czy kiedykolwiek znalazłeś inną odpowiedź @RajV?
David Vincent Gagne

Odpowiedzi:


67

Mam ten problem, kiedy używam AVPlayer Foundation na iOS Simulator (xcode 8.1), jednak nie loguje się już na urządzeniach iOS. Moim zdaniem to błąd dziennika, odtwarzacz lub warstwa jest zniszczona.


aktualizacja

Mam to dla ciebie, napraw niechciane komunikaty dziennika


Mają ten sam log, nie używają AVPlayer Foundation.
Dima Deplov

Nie jestem tego pewien, kiedy używam Xcode 7, komunikat dziennika zniknął
zippo

1
Mam ten sam problem po użyciu AVPlayera
ben

hej chłopaki, mam to dla ciebie, napraw niechciane komunikaty dziennika
zippo

101

Nie, nie robisz nic złego. To jest błąd z logami w Xcode8 + iOS10.


Możemy to obejść w ten sposób (urządzenie i symulator potrzebują różnych wartości):

Dodaj Nazwę OS_ACTIVITY_MODEi Wartość ${DEBUG_ACTIVITY_MODE}i sprawdź to (w Produkt -> Schemat -> Edytuj schemat -> Uruchom -> Argumenty -> Środowisko).

wprowadź opis obrazu tutaj

Dodaj ustawienie User-Defined DEBUG_ACTIVITY_MODE, a następnie dodać Any iOS Simulator SDKdo Debugi ustaw jego wartość disable(w projekcie -> Ustawienia Build -> + -> Ustawienia definiowane przez użytkownika)

wprowadź opis obrazu tutaj


8
Czy przeczytałeś moje pytanie? Powiedziałem już, że mogę wyłączyć rejestrowanie za pomocą OS_ACTIVITY_MODE. Nie o to chodzi w tym pytaniu.
RajV

To jest błąd z logami w Xcode8 + iOS10. - to jest odpowiedź na Twoje pytanie.
Igor

Pytanie, które zadałem, nie dotyczy tego, jak ukryć te komunikaty dziennika. To było i cytuję: „Czy jest coś złego w sposobie, w jaki odtwarzam ten film. Czy muszę przeprowadzić jakieś porządki?”
RajV

22
„Rozwiązanie”, które wymaga ode mnie ręcznej zmiany zmiennej środowiskowej, za każdym razem, gdy przechodzę z działania w Symulatorze na działanie na urządzeniu, nie jest w ogóle rozwiązaniem.
mat.

14
Jeśli znajdziesz lepsze rozwiązanie, powiedz nam.
Igor

0

Niezupełnie odpowiedź, ale raczej wskazówka, która może pomóc komuś zdebugować to ...

Zacząłem otrzymywać to ostrzeżenie, gdy tylko usunąłem strukturę AVFoundation z mojego projektu Xcode 9 / iOS 11. Używam AVFoundation (w szczególności AVPlayer i AVPlayerLayer), ale nadal działał i skompilował się dobrze po usunięciu frameworka z edytora połączonych struktur i bibliotek celu, a następnie usunięciu go z folderu Frameworks (próbowałem wyeliminować inne ostrzeżenie w czasie wykonywania) .

Dodanie go z powrotem za pośrednictwem edytora połączonych struktur i bibliotek wyeliminowało ostrzeżenia w czasie wykonywania w konsoli.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.