Rozwiązywanie problemów


Dlaczego w aplikacji w wersji demonstracyjnej nie mam dostępu do plików lokalnych?

Egzekwowanie limitu miejsca na dane w Androidzie 11 (Poziom interfejsu API 30) uniemożliwia bezpośredni dostęp do systemu plików. Do testowania ręcznego w programowanie, dostęp do plików lokalnych można uzyskać, dodając do uprawnienia dostępu do pamięci w manifeście aplikacji w wersji demonstracyjnej:

<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>

Następnie przyznaj to uprawnienie za pomocą narzędzia adb:

adb shell appops set --uid androidx.media3.demo.transformer \
    MANAGE_EXTERNAL_STORAGE allow

Dlaczego eksportowanie na konkretnym urządzeniu się nie uda?

Zgłoś problem dotyczący problemu z Media3 lokalizator z wystarczającą ilością informacji aby odtworzyć problem. Obejścia problemów występujących na konkretnych urządzeniach można dodać w z biblioteką, by poprawić zgodność z czasem.

Czy Transformer obsługuje zdalne przekształcanie (lub nagrywanie) multimediów?

Transformer obsługuje zdalne strumienie progresywne, w tym kontenery plików multimedialnych np. MP4.

W bardzo słabych warunkach sieciowych eksport może się nie udać z powodu buforowania zdalnych nośników danych dla zbyt długich wyzwalaczy sprawdza w mukserze, czy ma to że potok się zawiesił. Domyślne działanie możesz zastąpić przez ustawienie zasady maxDelayBetweenMuxerSamplesMs na urządzeniu Transformer.Builder:

Kotlin

Transformer.Builder(context)
    .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET)
    .build()

Java

new Transformer.Builder(context)
    .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET)
    .build();

Przejście na C.TIME_UNSET powoduje całkowite usunięcie limitu czasu, ale jeśli aplikacja działa na chipsetów, w których MediaCodec może zablokować się, możesz ustawić większą wartość inną niż 0. .

Czy Transformer obsługuje sygnał w formacie 8K?

Transformer został zaimplementowany w sposób niezależny od formatu, więc nie ogranicza 8K, ale możliwości sprzętowe urządzenia mogą oznaczać, eksport nie powiódł się. Na przykład nawet na urządzeniach umożliwiających rejestrowanie rozdzielczości 8K, dekodowanie i ponowne zakodowanie filmu 8K może być niemożliwe z powodu przekroczenia limitu dostępnych kodeków sprzętowych i zasobów pamięci RAM.

W jaki sposób Transformer wiąże się z transkodowaniem multimediów zgodnych z platformą?

Transkodowanie zgodnych multimediów to funkcja platformy Androida w Androidzie 12 (poziom interfejsu API 31), która umożliwia multimediów o długości do 1 minuty na formaty obsługiwane przez aplikację. Jeśli wyrazić zgodę na korzystanie z tej funkcji, czytanie pliku multimedialnego w niezgodnym formacie, powoduje transkodowanie na żądanie, co powoduje zapamiętywanie wyniku wyszukiwania w pamięci podręcznej w celu późniejszego odczytania. operacji.

Transformer obsługuje również formatowanie konwersji, ale jest dostępna jako biblioteka pomocy. Aplikacja ma pełną kontrolę nad transkodowania.

Jak mogę skrócić czas oczekiwania na eksport i zwiększyć przepustowość?

Transformer korzysta z MediaCodec do dekodowania z akceleracją sprzętową oraz tryb OpenGL do przetwarzania klatek wideo. Na podstawie naszych pomiarów na typowych urządzeniach, czynnikiem ograniczającym przepustowość Transformatora jest sprzęt Przepustowość kodera MediaCodec na potrzeby przypadków użycia bez dużych efektów o przetwarzaniu danych. Możliwe, że w ten sam sposób wpłynie to na inne implementacje. Dla: Na przykład funkcja transkodowania zgodna z platformą ma podobną skuteczność do Transformer.

Podgląd debugowania w aplikacji demonstracyjnej znacznie ogranicza przepustowość, dlatego wyłącz podczas testowania z użyciem kompilacji demonstracyjnej aplikacji, aby uzyskać realistyczny obraz skuteczności.