Неподдерживаемый тип файла. Почему мой Samsung Galaxy S внезапно перестал поддерживать MP3?

11

Внезапно мой Samsung Galaxy S утверждает, что не поддерживает mp3-файлы (телефон простаивал несколько часов, я ничего не трогал). Однако файлы Ogg по-прежнему воспроизводятся без проблем. Когда это происходит, никакое приложение не может воспроизводить mp3-файлы, например, мой пользовательский рингтон больше не воспроизводится (он просто вибрирует, как если бы он был отключен). Перезагрузка телефона устраняет проблему, но в течение 3-4 дней проблема возвращается. Это не имеет значения, если файлы хранятся на внутренней или внешней SD-карте.

Это также влияет на воспроизведение видео, я просто не уверен, происходит ли это одновременно или независимо друг от друга. Приложение YouTube больше не может запускать видео (неизвестная проблема с воспроизведением), а приложение видеопроигрывателя объявляет все видеофайлы неподдерживаемыми. Я предполагаю, что проблема может быть не в самом воспроизведении видео, а в аудиокодеке, используемом в видео (mp3).

Любая идея, как это исправить или отладить это? Я не хочу перезагружать свой телефон каждые пару дней - это занимает 2-3 минуты, и телефон должен просто работать.

Недавно я применил прошивку 2.2.1, и это только усугубило проблему. У меня это было до 2.2.1 (с 2.2), но очень редко.

Мне любопытно, может ли виновником может быть TitaniumBackup, поскольку планировщик резервного копирования иногда останавливает процессы. Может быть, другие, сталкивающиеся с этой проблемой, тоже используют запланированные TitaniumBackups? Подсказка заключалась в том, что с момента обновления до 2.2.1 я также обновился до лицензионной версии TitaniumBackup и запланировал ежедневное резервное копирование. Но это может быть просто совпадением. Что противоречит этой теории: резервное копирование запланировано на ночь, но в последний раз я видел эту проблему, это произошло днем ​​- mp3 работал утром, отказывал днем. Телефон не работал в то время, когда «решил» больше не проигрывать mp3.

Просматривая форумы (я нашел только несколько обращений в Google), люди, имеющие такие же проблемы, предлагают просто перезагрузить телефон - но это не является решением проблемы. Или они предлагают отправить телефон обратно для замены - и угадайте, что: Это не решило проблему для людей, испытывающих эту проблему. Поэтому я полагаю, что это не аппаратная проблема (не связанная ни с sdcards, ни с самим телефоном).

hurikhan77
источник
1
У меня была одна и та же проблема, которая случилась со мной дважды, но я не могу ее решить. Кстати: я не пользуюсь Titanium Backup, так что вы, вероятно, можете убрать список из вашего списка преступников.
bjoernz
@ Мэтт Я не думаю, что это помогает. С одной стороны, есть мое противоречие, с другой стороны, @bjoernz подтверждает, что это также происходит без установленного ТБ.
hurikhan77
Кстати: я подозреваю, что приложение MediaFly или Adobe Flash является виновником ...
bjoernz
@bjoern Я не использую MediaFly, так что вы можете разобраться с этим. Но как Flash вписывается в картину?
hurikhan77
1
Это становится смешным. С тех пор, как я прокомментировал этот вопрос, я могу наблюдать этот эффект каждые 2-3 дня ... и я все еще не в состоянии навязать это поведение. Кстати: это влияет не только на MP3, видео файлы (* .mp4) также влияют.
bjoernz

Ответы:

4

Я думаю, что нашел проблему.

Как сказал bjoernz, какое-то приложение создает много объектов из класса MediaPlayer и не выпускает его после. Итак, я открыл оболочку adb , стал root ( su ) и нашел PID (идентификатор процесса) медиасервера, используя команду:

пс | grep mediaserver

PID медиа-сервера в моем случае: 84

Затем я перечислил все ресурсы, используемые этим PID, с помощью команды:

лсоф | grep 84

И я получил следующий результат:введите описание изображения здесь

Таким образом, стало легко определить, что проблема была в официальном твиттер-приложении ( com.twitter.android-1.apk ). Затем я удалил твиттер-приложение и вместо этого установил TweetDeck, и проблема исчезла с прошлой недели.

Надеюсь, это поможет вам.

[] 'S

Эдисон
источник
Это интересно ...
hurikhan77
7

Последним средством всегда является возврат к заводским настройкам, что должно решить эту проблему. Вы также можете взглянуть на вывод logcat, возможно, это даст вам подсказку о причине проблемы.

поток
источник
При обновлении до 2.2.1 я сделал новый сброс к заводским настройкам - по сути, именно поэтому я купил лицензию TB (восстановление 100 приложений с помощью ручного подтверждения вышло за рамки моего терпения)
hurikhan77
1
Несмотря на то, что я не хотел делать сброс к заводским настройкам, я попытался сделать это в пятницу, и с тех пор проблема не возникла. Хотя я не уверен, что если проблема исчезнет навсегда, я награду вас за вознаграждение, чтобы он не
пропал
Проблема все еще сохраняется :-(
bjoernz
@bjoern: я уже был уверен, что сброс к заводским настройкам не помогает.
hurikhan77
@ hurikhan77: Я все равно хотел это сделать ;-)
bjoernz
4

У меня наконец-то появилась возможность взглянуть на logcat, когда возникла проблема. Сообщение об ошибке гласит:

Completed command PLAYER_PREPARE status=-17

Согласно этому форуму, «это вызвано слишком большим количеством активных объектов MediaPlayer одновременно». К сожалению, я еще не нашел исправления. Кажется, единственный известный обходной путь - это перезагрузка.

Я до сих пор не уверен, какое приложение (или комбинация приложений) надежно воспроизводит ошибку.

Редактировать : Я думаю, что любое приложение, которое использует класс MediaPlayer, может вызвать проблему. Эти приложения, вероятно, никогда не достигнут состояния, когда они вызывают MediaPlayer.release () . Возможно, нам нужно связаться с поставщиками приложений, которые используют MediaPlayer, чтобы они обязательно вызывали release () .

Мои поверхностные исследования не привели к решению, которое решило бы проблему без перезагрузки.

Изменить 2: Я обновил до Android 2.3 (Gingerbread), и, к сожалению, эта проблема все еще сохраняется.

Некоторые сообщения logcat об ошибке:

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
источник
Я перешел на DarkyROM 10.2, сейчас на 10.3. Обе версии основаны на Gingerbread (2.3.3 и 2.3.4) и не демонстрируют такого поведения. Так что, похоже, что-то особенное для стокового ПЗУ Samsung.
hurikhan77
4

У меня такая же проблема здесь, при использовании Galaxy S с Android 2.3.3.

Глядя на журнал, мы видим PID (идентификатор процесса), используемый PlayerDriver.

V / PlayerDriver (84): Выполненная команда PLAYER_PREPARE status = -17

Итак, я убил процесс PlayerDriver, и он исправил.

Для этого вам нужно рутировать ваше устройство и подключаться с помощью adb от имени root. Напр .:

adb shell

су

В следующий раз я попытаюсь определить, какие файлы и каналы использует процесс через команду lsof

Надеюсь, это поможет.

Эдисон
источник
3

Та же проблема на моей галактике. Я заметил, что если я использую Google Listen и у меня есть очередь, mp3 перестает играть. После очистки очереди все стало хорошо! Но ... Кажется, Adobe Flash тоже влияет на воспроизведение мультимедиа. Если я использую их, любое воспроизведение мультимедиа не удается до перезагрузки. Возможно 2.3 решит проблему. Почти надоело искать решение для 2.2 на Galaxy S

geaden
источник
Я только что удалил Flash Player и сообщу вам, когда проблема возникнет снова.
bjoernz
У меня установлена ​​вспышка, но я почти никогда ею не пользуюсь. Плагины загружаются вручную в моем браузере, поэтому они никогда не запускаются. Я сомневаюсь, что проблема связана с самой вспышкой, вероятно, она связана с использованием памяти. Если я делаю много параллельных обновлений рынка, mp3 перестает работать. Если я использую приложения, интенсивно использующие память, mp3 перестает работать. Кажется, что Android убивает важный сервис (что является нормальным поведением в соответствии с описанием управления задачами), но никогда не перезапускает этот сервис.
hurikhan77
Я просто запустил каждое приложение, которое у меня есть (запустить приложение, нажать кнопку «Домой», запустить следующее приложение, ...), и мои mp3-файлы в настоящее время воспроизводятся в любом случае. Кстати: Flash не был удален, видимо, только обновления. Это обновилось сегодня снова.
bjoernz
Я обнаружил, что официальное приложение Twitter может быть виновником форума Youtube
geaden
3

У меня такие же проблемы, и я не могу найти последовательную причину. После перезагрузки телефона я не вижу проблемы снова в течение 12-24 часов. Поскольку в качестве будильника я использую нестандартную музыку, я приобрел привычку или перезагружал телефон перед сном. Это вызвало много поздних дней работы, прежде чем я понял, что происходит.

Я начал с заводской свежей установки. Протестировал несколько дней без проблем. Начните установку программ по одному без проблем. В конце концов я начал использовать виджеты, без проблем. Я установил Launcher Pro без проблем.

Но теперь проблемы начались снова. Я вообще удалил Launcher Pro безрезультатно. Я удалил все мои виджеты, которые, казалось, работали. Я добавил их обратно один за другим, и у меня, похоже, не было никаких проблем. Но проблема вернулась. В течение двух недель я не мог изолировать один виджет, который вызывал проблему, поэтому я исключил все виджеты вместе.

У меня есть пользовательские мелодии для моих SMS, уведомлений, G-talk, Gmail и мелодий. Когда возникает эта проблема, я даже не могу воспроизвести свою голосовую почту, а тем более.

Я использую программу под названием "Soundhound", чтобы найти музыку, которую я раньше не слышал. Я думаю, что это может быть связано. С другой стороны, я также использую Advanced Task Killer, но даже когда я установил его раньше, проблем не было. Я думаю, что когда я использую Soundhound, он вызывает какую-то странную цепную реакцию, которая в конечном итоге - несколько часов спустя - приводит к тому, что мой телефон имеет эту ошибку.

Я не знаю достаточно о журналах или о том, как получить к ним доступ, на самом деле отладить телефон, но я знаю, что у многих людей возникла эта проблема, и, похоже, нет решения. Тем временем я удалил Soundhound и проверяю, есть ли у меня проблема.

Konraden
источник
3

Я заметил эту проблему на моей Galaxy, потребовалось некоторое время, чтобы собрать ее вместе, но, похоже, она началась, когда я начал использовать сторонние менеджеры задач. Произошло это с установленным продвинутым убийцей задач и сторожевым таймером.

Я вернулся к использованию встроенного диспетчера задач, и проблема, похоже, исчезла ... Не происходило на прошлой неделе. Я бегу 2.2.1.

То, что я думал, было самым странным, это случилось в дни, когда я даже не использовал диспетчер задач, просто простое присутствие вызывает проблему ...

Неуверен в технической причине, стоящей за этим, но все равно ... Нативная задача mgr в порядке.

Надеюсь, это поможет остальным.

Тодд
источник
1
Это всегда хорошая идея, чтобы удалить любые сторонние диспетчера задач или приложений Task Killer, Google особенно рекомендую не использовать их. Есть свидетельства того, что они вызывают много проблем, а уже агрессивное управление памятью в Android практически ничего не решает.
GAThrawn
2

Вы пробовали тестировать отдельные медиа-файлы, вызывающие проблему?

Много месяцев назад у меня была проблема, когда определенные файлы могли повредить музыкальную базу данных и в конечном итоге вызвать проблемы для всей библиотеки. Это очень гипотетически, так как мой опыт не был на устройстве Android, и моя Galaxy S работает просто отлично. Несмотря на это, я подумал, что вы можете попробовать загрузить только небольшое подмножество ваших медиафайлов и посмотреть, по-прежнему ли возникает проблема. Это не похоже на проблему с кодеком, и, возможно, медиа-сканер очищает базу данных при перезагрузке телефона. Извините, у меня нет лучшего ответа.

Строймеханизация
источник
Я постараюсь дать вам знать, если это поможет. Но, поскольку я не могу воспроизвести проблему по своему желанию и вообще не меняю свою коллекцию мультимедиа на телефоне, я сомневаюсь, что это как-то связано с файлами на моем телефоне.
bjoernz
Проблема по-прежнему возникает, если на моем телефоне нет «внешних» медиафайлов. Я только что транслировал подкаст в формате mp3, и через некоторое время / какое-то действие mediafly скажет мне, что он не может транслировать файл и что я должен загрузить его (даже для того же эпизода, который работал ранее). Это не проблема сети, потому что я могу скачать эпизод без проблем, а затем я все еще не могу воспроизвести его, пока не перезагрузлю.
bjoernz
Ну, невнятно. Возможно, 2.3 решит вашу проблему? Если я когда-нибудь увижу это на своей Galaxy SI, я обязательно вернусь
KCD