Nieobsługiwany typ pliku: Dlaczego mój Samsung Galaxy S nagle przestał obsługiwać pliki MP3?

11

Nagle mój Samsung Galaxy S twierdzi, że nie obsługuje plików mp3 (telefon był bezczynny przez kilka godzin, niczego nie dotknąłem). Pliki Ogg są jednak nadal odtwarzane bez problemów. Gdy tak się dzieje, żadna aplikacja nie może odtwarzać plików mp3, np. Mój niestandardowy dźwięk dzwonka nie jest już odtwarzany (po prostu wibruje, jakby był wyciszony). Ponowne uruchomienie telefonu rozwiązuje problem, ale w ciągu 3-4 dni problem powraca. Nie ma znaczenia, czy pliki są przechowywane na wewnętrznej lub zewnętrznej karcie SD.

Wpływa to również na odtwarzanie wideo, po prostu nie jestem pewien, czy dzieje się to w tym samym czasie, czy niezależnie od siebie. Aplikacja YouTube nie może już uruchamiać filmów (nieznany problem z odtwarzaniem), a aplikacja odtwarzacza wideo twierdzi, że wszystkie pliki wideo nie są obsługiwane. Podejrzewam, że problemem może nie być samo odtwarzanie wideo, ale kodek audio użyty w wideo (mp3).

Masz pomysł, jak to naprawić lub debugować? Nie chcę ponownie uruchamiać telefonu co kilka dni - zajmuje to 2-3 minuty, a telefon powinien po prostu działać.

Ostatnio zastosowałem oprogramowanie 2.2.1 i to tylko pogorszyło problem. Miałem to przed 2.2.1 (z 2.2), ale bardzo rzadko.

Jestem ciekawy, czy przyczyną może być TitaniumBackup, ponieważ harmonogram tworzenia kopii zapasowych czasami zatrzymuje procesy. Może inni doświadczający tego problemu również używają zaplanowanych kopii zapasowych Titanium? Wskazówka była taka, że ​​od aktualizacji do wersji 2.2.1 zaktualizowałem również do licencjonowanej wersji TitaniumBackup i zaplanowałem codzienne kopie zapasowe. Ale to może być po prostu zbieg okoliczności. Co stoi w sprzeczności z tą teorią: kopie zapasowe są planowane w nocy, ale ostatnim razem, gdy widziałem ten problem, stało się to w ciągu dnia - mp3 działało rano, nie działało po południu. Telefon był bezczynny w czasie, gdy „postanowił”, że nie będzie już odtwarzać mp3.

Patrząc na fora (znalazłem tylko kilka trafień w Google), ludzie mający te same problemy sugerują po prostu zrestartować telefon - ale to wcale nie jest poprawka. Lub sugerują, aby odesłać telefon z powrotem w celu wymiany - i zgadnij, co: Nie rozwiązało problemu dla osób, które mają ten problem. Sugeruję więc, że nie jest to problem sprzętowy (ani związany z kartami SD, ani z samym telefonem).

hurikhan77
źródło
1
Miałem teraz ten sam problem dwa razy, ale nie jestem w stanie go wymusić. BTW: Nie używam Titanium Backup, więc prawdopodobnie możesz skreślić listę sprawców.
bjoernz
@Matt Nie sądzę, że to pomaga. Z jednej strony istnieje moja sprzeczność, z drugiej strony @bjoernz potwierdza, że ​​dzieje się to również bez zainstalowanej TB.
hurikhan77
BTW: Podejrzewam, że winowajcą jest aplikacja MediaFly lub Adobe Flash ...
bjoernz
@ bjoern Nie używam MediaFly, więc możesz to skreślić. Ale jak Flash pasuje do zdjęcia?
hurikhan77
1
To robi się śmieszne. Odkąd skomentowałem to pytanie, obserwuję ten efekt co 2-3 dni ... i nadal nie jestem w stanie wymusić tego zachowania. BTW: Nie tylko wpływa na pliki MP3, ale także na pliki wideo (* .mp4).
bjoernz

Odpowiedzi:

4

Myślę, że znalazłem problem.

Jak powiedział bjoernz, niektóre aplikacje tworzą wiele obiektów z klasy MediaPlayer i nie zwalniają tego później. Więc otworzyłem powłokę adb , stałem się rootem ( su ) i znalazłem PID (identyfikator procesu) serwera multimediów, używając polecenia:

ps | grep mediaserver

PID serwera multimediów w moim przypadku to: 84

Następnie wymieniłem wszystkie zasoby używane przez ten PID z poleceniem:

lsof | grep 84

I otrzymałem następujący wynik:wprowadź opis zdjęcia tutaj

Łatwo więc było stwierdzić, że problemem była oficjalna aplikacja Twitter ( com.twitter.android-1.apk ). Następnie usunąłem aplikację Twitter i zamiast tego zainstalowałem TweetDeck, a problem zniknął od zeszłego tygodnia.

Mam nadzieję, że to może ci pomóc.

[]

Edison
źródło
To interesujące ...
hurikhan77
7

Ostatnim rozwiązaniem jest zawsze przywrócenie ustawień fabrycznych, co powinno rozwiązać ten problem. Możesz także rzucić okiem na wyjście logcat, być może da ci to podpowiedź na temat przyczyny problemu.

Pływ
źródło
Podczas aktualizacji do wersji 2.2.1 zrobiłem nowy reset fabryczny - zasadniczo dlatego kupiłem licencję TB (przywracanie 100 aplikacji przez ręczne potwierdzenie wykroczyło poza moją cierpliwość)
hurikhan77
1
Mimo że tak naprawdę nie chciałem przywracać ustawień fabrycznych, wypróbowałem to w piątek i od tego czasu problem nie wystąpił. Chociaż nie jestem pewien, jeśli problem zniknie na dobre,
przyznam
Problem nadal występuje :-(
bjoernz
@bjoern: Byłem już pewien, że przywrócenie ustawień fabrycznych nie pomoże.
hurikhan77
@ hurikhan77: I tak chciałem to zrobić ;-)
bjoernz
4

W końcu miałem okazję spojrzeć na logcat, gdy pojawiał się problem. Komunikat o błędzie brzmi:

Completed command PLAYER_PREPARE status=-17

Według tego forum „jest to spowodowane tym, że zbyt wiele obiektów MediaPlayer jest aktywnych jednocześnie”. Niestety nie znalazłem jeszcze poprawki. Jedynym znanym obejściem wydaje się być restart.

Nadal nie jestem pewien, która aplikacja (lub kombinacja aplikacji) niezawodnie odtwarza błąd.

Edycja : Myślę, że problem może powodować dowolna aplikacja korzystająca z klasy MediaPlayer . Te aplikacje prawdopodobnie nigdy nie osiągną stanu, w którym wywołują MediaPlayer.release () . Być może musimy skontaktować się z dostawcami aplikacji korzystających z MediaPlayer, aby upewnić się, że wywołują release () .

Moje powierzchowne badania nie doprowadziły do ​​rozwiązania problemu, który rozwiązałby problem bez ponownego uruchomienia komputera.

Edycja 2: Zaktualizowałem system Android 2.3 (Gingerbread) i niestety ten problem nadal występuje.

Niektóre komunikaty logcat dotyczące błędu:

06-08 20:03:08.785 V/PlayerDriver( 2377): CommandCompleted
06-08 20:03:08.785 V/PlayerDriver( 2377): Completed command PLAYER_INIT status=1
06-08 20:03:08.785 V/PVPlayer( 2377): run_set_video_surface s=0, cancelled=0
06-08 20:03:08.785 V/PVPlayer( 2377): run_set_audio_output s=0, cancelled=0
06-08 20:03:08.785 V/PlayerDriver( 2377): Send player code: 5
06-08 20:03:08.785 V/PlayerDriver( 2377): Create realtime output
06-08 20:03:08.785 V/PlayerDriver( 2377): CommandCompleted
06-08 20:03:08.785 V/PlayerDriver( 2377): Completed command PLAYER_SET_AUDIO_SINK status=1
06-08 20:03:08.785 V/PVPlayer( 2377): run_prepare s=0, cancelled=0
06-08 20:03:08.789 V/PlayerDriver( 2377): Send player code: 7
06-08 20:03:08.789 V/PlayerDriver( 2377): disable natpkt - 0
06-08 20:03:08.789 D/        ( 2377): After GetDurationFromRandomScan: clipDuration=8716644 
06-08 20:03:08.789 D/        ( 2377): After GetDurationFromRandomScan: clipDuration=8716644 
06-08 20:03:08.804 V/PlayerDriver( 2377): HandleInformationalEvent: 26
06-08 20:03:08.804 V/PlayerDriver( 2377): HandleInformationalEvent: type=26 UNHANDLED
06-08 20:03:08.804 V/PlayerDriver( 2377): CommandCompleted
06-08 20:03:08.804 V/PlayerDriver( 2377): Completed command PLAYER_PREPARE status=-17
06-08 20:03:08.804 E/PlayerDriver( 2377): Command PLAYER_PREPARE completed with an error or info -17
06-08 20:03:08.804 V/PVPlayer( 2377): check_for_live_streaming s=-2147483648, cancelled=0
06-08 20:03:08.804 V/PlayerDriver( 2377): HandleInformationalEvent: 27
06-08 20:03:08.804 W/PlayerDriver( 2377): PVMFInfoErrorHandlingComplete
06-08 20:03:08.804 W/MediaPlayer(22989): info/warning (1, 26)
06-08 20:03:08.804 E/MediaPlayer(22989): error (1, -17)
06-08 20:03:08.808 I/AudioService( 2471):  AudioFocus  abandonAudioFocus() from android.media.AudioManager@480f3630null
06-08 20:03:08.812 I/AudioService( 2471):  AudioFocus  abandonAudioFocus() from android.media.AudioManager@480f3630null
06-08 20:03:08.812 D/PlayTo  (22989): opening content://dtmedia/media/1553 with Android Player
06-08 20:03:08.812 D/PlayTo  (22989): About to set Android Player datasource to content://dtmedia/media/1553
06-08 20:03:08.812 E/PVPlayer( 2377): isDrmfile playing 0
06-08 20:03:08.812 V/PVPlayer( 2377): reset
06-08 20:03:08.812 V/PlayerDriver( 2377): Send player code: 18
06-08 20:03:08.812 V/PlayerDriver( 2377): handleCancelAllCommands
06-08 20:03:08.816 V/PlayerDriver( 2377): CommandCompleted
06-08 20:03:08.816 V/PlayerDriver( 2377): Completed command PLAYER_CANCEL_ALL_COMMANDS status=1
06-08 20:03:08.816 V/PlayerDriver( 2377): Send player code: 11
06-08 20:03:08.816 V/PlayerDriver( 2377): handleReset
06-08 20:03:08.816 V/PlayerDriver( 2377): CommandCompleted
06-08 20:03:08.816 V/PlayerDriver( 2377): Completed command PLAYER_RESET status=1
06-08 20:03:08.816 V/PlayerDriver( 2377): Send player code: 17
06-08 20:03:08.816 V/PlayerDriver( 2377): handleRemoveDataSource
06-08 20:03:08.816 V/PlayerDriver( 2377): CommandCompleted
06-08 20:03:08.816 V/PlayerDriver( 2377): Completed command PLAYER_REMOVE_DATA_SOURCE status=1
06-08 20:03:08.816 V/PVPlayer( 2377): unmap file
Bjoernz
źródło
Zmieniłem na DarkyROM 10.2, teraz na 10.3. Obie wersje są oparte na Pierniku (2.3.3 i 2.3.4) i nie wykazują tego zachowania. Wydaje się więc, że jest to coś specyficznego dla standardowej pamięci ROM Samsunga.
hurikhan77
4

Mam ten sam problem tutaj, używając Galaxy S z Androidem 2.3.3.

Patrząc na dziennik, możemy zobaczyć PID (identyfikator procesu) używany przez PlayerDriver.

V / PlayerDriver (84): Wykonano polecenie Status PLAYER_PREPARE = ​​-17

Więc zabiłem proces PlayerDriver i został naprawiony.

Aby to zrobić, musisz zrootować urządzenie i połączyć się z adb jako root. Dawny.:

powłoka adb

su

Następnym razem spróbuję zidentyfikować, jakie pliki i potoki używa proces za pomocą polecenia lsof

Mam nadzieję, że to pomoże.

Edison
źródło
3

Ten sam problem dotyczy mojej galaktyki. Zauważyłem, że jeśli korzystam z Google Listen i mam kolejkę, mp3 przestaje być odtwarzana. Po wyczyszczeniu kolejki wszystko było w porządku! Ale ... Wygląda na to, że Adobe Flash wpływa również na odtwarzanie multimediów. Jeśli ich użyję, odtwarzanie multimediów nie powiedzie się przed ponownym uruchomieniem. Może 2.3 naprawi problem. Prawie zmęczony, aby znaleźć rozwiązanie dla 2.2 na Galaxy S

geaden
źródło
Właśnie odinstalowałem Flash Playera i będę Cię informować, gdy problem wystąpi ponownie.
bjoernz
Mam zainstalowaną pamięć flash, ale prawie nigdy jej nie używam. Wtyczki są ładowane ręcznie w mojej przeglądarce, więc nigdy nie są uruchamiane. Wątpię, że sam flash jest problemem, prawdopodobnie związany jest z użyciem pamięci. Jeśli zrobię wiele równoległych aktualizacji rynku, mp3 przestanie działać. Jeśli używam aplikacji intensywnie korzystających z pamięci, mp3 przestaje działać. Wygląda na to, że Android zabija ważną usługę (co jest normalnym zachowaniem zgodnie z opisem zarządzania zadaniami), ale nigdy nie uruchamia ponownie tej usługi.
hurikhan77
Właśnie uruchomiłem każdą aplikację, którą mam (uruchom aplikację, naciśnij przycisk home, uruchom następną aplikację, ...), a moje pliki mp3 i tak są odtwarzane. BTW: Flash najwyraźniej nie został odinstalowany, tylko aktualizacje. Został ponownie zaktualizowany dzisiaj.
bjoernz
Odkryłem, że oficjalna aplikacja na Twitterze może być winowajcą Forum Youtube
geaden
3

Mam takie same problemy i nie mogę uzyskać spójnej przyczyny. Po ponownym uruchomieniu telefonu nie widzę problemu przez kolejne 12-24 godzin. Ponieważ używam niestandardowej muzyki jako budzika, przyzwyczaiłem się lub uruchomiłem ponownie telefon przed snem. Spowodowało to wiele późnych dni, zanim zorientowałem się, co się dzieje.

Zacząłem od fabrycznie nowej instalacji. Testowałem to przez kilka dni bez żadnych problemów. Rozpocznij instalowanie programów jeden po drugim bez żadnych problemów. W końcu zacząłem używać widgetów bez żadnych problemów. Zainstalowałem Launcher Pro bez problemów.

Ale teraz problemy zaczęły się od nowa. Odinstalowałem Launcher Pro całkowicie bezskutecznie. Usunąłem wszystkie moje widżety, które wydawały się działać. Dodawałem je jeden po drugim i nie miałem żadnych problemów. Ale problem wrócił. W ciągu dwóch tygodni nie mogłem wyizolować jednego widżetu, który był przyczyną problemu, więc wykluczyłem widżety razem.

Mam niestandardowe dzwonki do moich SMS-ów, powiadomień, G-talk, Gmaila i dzwonków. Kiedy pojawia się ten problem, nie mogę nawet uruchomić poczty głosowej, a tym bardziej niczego innego.

Korzystam z programu o nazwie „Soundhound”, aby odkryć muzykę, której wcześniej nie słyszałem. Myślę, że to może być powiązane. Z drugiej strony korzystam również z Advanced Task Killer, ale nawet gdy zainstalowałem go wcześniej, nie miał problemów. Myślę, że kiedy używam Soundhounda, wywołuje on jakąś dziwną reakcję łańcuchową, która ostatecznie --- godziny później - powoduje ten błąd.

Nie wiem wystarczająco dużo o dziennikach ani o tym, jak uzyskać do nich dostęp do debugowania telefonu, ale wiem, że mnóstwo ludzi miało ten problem i wydaje się, że nie ma poprawki. W międzyczasie odinstalowałem Soundhounda i sprawdzam, czy nadal mam problem.

Konraden
źródło
3

Zauważyłem ten problem na mojej galaktyce, zajęło to trochę czasu, ale wydawało się, że zaczęło się, kiedy zacząłem używać zewnętrznych menedżerów zadań. Stało się tak z zainstalowanym zaawansowanym zabójcą zadań i watchdogiem.

Wróciłem do korzystania z natywnego menedżera zadań i wydaje się, że problem zniknął ... W ciągu ostatniego tygodnia nie wystąpił. Używam 2.2.1.

To, co uważałem za najdziwniejsze, to to, że działo się to w dni, kiedy nawet nie korzystałem z menedżera zadań, tylko sama obecność powoduje problem ...

Nie jestem pewien przyczyn technicznych, ale nie przejmuj się… Mgr zadania natywnego jest w porządku.

Mam nadzieję, że to pomoże reszcie z was.

Todd
źródło
1
Zawsze dobrym pomysłem jest usunięcie aplikacji innych niż Task Manager lub Task Killer, Google szczególnie nie zaleca ich używania. Istnieją dowody na to, że powodują one wiele problemów, a przy już i tak agresywnym zarządzaniu pamięcią Androida prawie nic nie rozwiązuje.
GAThrawn
2

Czy próbowałeś przetestować poszczególne pliki multimedialne powodujące problem?

Wiele księżyców temu miałem problem, w którym niektóre pliki uszkodziłyby bazę danych muzyki i ostatecznie spowodowały problemy dla całej biblioteki. Jest to bardzo hipotetyczne, ponieważ moje doświadczenie nie było na urządzeniu z Androidem, a mój Galaxy S działa dobrze. Mimo to pomyślałem, że możesz spróbować załadować tylko niewielki podzbiór multimediów i sprawdzić, czy nadal występuje problem. Nie wygląda to na problem z kodekiem i być może skaner mediów czyści bazę danych po ponownym uruchomieniu telefonu. Przepraszam, nie mam lepszej odpowiedzi.

KCD
źródło
Spróbuję i dam ci znać, jeśli to pomoże. Ale ponieważ nie mogę odtworzyć problemu do woli i nie zmieniam w ogóle mojej kolekcji multimediów w telefonie, wątpię, czy ma to coś wspólnego z plikami w moim telefonie.
bjoernz
Problem nadal występuje, jeśli nie mam w telefonie „zewnętrznych” plików multimedialnych. Właśnie przesyłałem strumieniowo podcast w formacie mp3 i po pewnym czasie / akcji mediafly powie mi, że nie jest w stanie przesłać strumieniowo pliku i że powinienem go pobrać (nawet dla tego samego odcinka, który wcześniej działał). To nie jest problem z siecią, ponieważ mogę pobrać odcinek bez problemu i nadal nie mogę go odtworzyć, dopóki nie uruchomię się ponownie.
bjoernz
Cóż, humpff. Być może 2.3 rozwiąże Twój problem? Jeśli kiedykolwiek zobaczę to na moim Galaxy SI, na pewno wrócę
KCD