Tipo de arquivo não suportado: Por que meu Samsung Galaxy S parou de repente de suportar MP3s?

11

De repente, o meu Samsung Galaxy S alega não suportar arquivos mp3 (o telefone ficou ocioso por algumas horas, eu não toquei em nada). Arquivos Ogg, no entanto, ainda são reproduzidos sem problemas. Quando isso acontece, nenhum aplicativo pode reproduzir arquivos mp3, por exemplo, meu toque personalizado não é mais reproduzido (apenas vibra como se estivesse mudo). Uma reinicialização do telefone corrige o problema, mas dentro de 3-4 dias o problema volta. Não faz diferença se os arquivos são armazenados no cartão SD interno ou externo.

Isso também afeta a reprodução do vídeo, mas não tenho certeza se isso acontece ao mesmo tempo ou é independente um do outro. O aplicativo do youtube não pode mais iniciar vídeos (problema de reprodução desconhecido), e o aplicativo player de vídeo reivindica todos os arquivos de vídeo como não suportados. Suponho que o problema talvez não seja a reprodução de vídeo, mas o codec de áudio usado no vídeo (mp3).

Alguma idéia de como corrigir isso ou depurar isso? Não quero reiniciar meu telefone a cada dois dias - são necessários 2-3 minutos para fazer isso e um telefone deve funcionar.

Eu apliquei o firmware 2.2.1 recentemente e isso só parecia piorar o problema. Eu tinha isso antes da 2.2.1 (com 2.2), mas apenas muito raramente.

Estou curioso para saber se o TitaniumBackup pode ser o culpado, pois o agendador de backup parece parar os processos às vezes. Talvez outras pessoas com esse problema também usem TitaniumBackups agendados? A dica era que, desde a atualização para a 2.2.1, eu também atualizei para a versão licenciada do TitaniumBackup e fiz backups diários agendados. Mas isso pode ser apenas coincidência. O que contradiz essa teoria: os backups são agendados à noite, mas a última vez que vi esse problema aconteceu durante o dia - o mp3 funcionou pela manhã e falhou à tarde. O telefone ficou inativo durante o período em que "decidiu" não reproduzir mais mp3.

Olhando para os fóruns (encontrei apenas alguns acessos no Google), pessoas com os mesmos problemas sugerem simplesmente reiniciar o telefone - mas isso não é uma solução. Ou eles sugerem que o telefone seja devolvido para substituição - e adivinhe: ele não corrigiu o problema das pessoas que enfrentam esse problema. Portanto, sugiro que não seja um problema de hardware (nem relacionado a cartões SD nem ao próprio telefone).

hurikhan77
fonte
1
Agora, tive o mesmo problema duas vezes, mas não consigo forçar o problema. BTW: Eu não uso o Titanium Backup, então você provavelmente pode encontrar o da sua lista de culpados.
Bjoernz
@ Matt Eu não acho que isso ajuda. Por um lado, há a minha contradição, por outro lado, o @bjoernz, confirmando que também está acontecendo sem a TB instalada.
Hurikhan77
BTW: Eu suspeito que o aplicativo Mediafly ou o Adobe Flash é o culpado ...
bjoernz
@jojo Não uso o MediaFly para que você possa descobrir isso. Mas como o Flash se encaixa na imagem?
Hurikhan77
1
Isso está ficando ridículo. Desde que comentei essa pergunta, posso observar esse efeito a cada 2-3 dias ... e ainda não sou capaz de impor esse comportamento. BTW: Não afeta apenas MP3s, arquivos de vídeo (* .mp4) também são afetados.
Bjoernz #

Respostas:

4

Eu acho que encontrei o problema.

Como o bjoernz disse, algum aplicativo está criando muitos objetos da classe MediaPlayer e não é liberado depois. Então, abri um shell adb , tornei-me root ( su ) e encontrei o PID (ID do processo) do mediaserver, usando o comando:

ps grep mediaserver

O PID do servidor de mídia, no meu caso, é: 84

Em seguida, listei todos os recursos usados ​​por esse PID com o comando:

lsof | grep 84

E obtive o seguinte resultado:insira a descrição da imagem aqui

Portanto, ficou fácil identificar que o aplicativo oficial do twitter ( com.twitter.android-1.apk ) era o problema. Em seguida, removi o aplicativo do twitter e instalei o TweetDeck e o problema desapareceu desde a semana passada.

Espero que isso possa ajudá-lo.

[]

Edison
fonte
Isso é interessante ...
hurikhan77 12/12
7

Um último recurso é sempre uma redefinição de fábrica, que deve corrigir esse problema. Você também pode dar uma olhada na saída do logcat, talvez isso lhe dê uma dica sobre a causa do problema.

Fluxo
fonte
Quando a atualização para 2.2.1 Eu fiz um reset de fábrica fresco - essencialmente é por isso que eu comprei a licença TB (restauração de 100 aplicativos por confirmação manual foi além minha paciência)
hurikhan77
1
Mesmo que eu realmente não quisesse fazer uma redefinição de fábrica, tentei na sexta-feira e o problema não ocorreu desde então. Enquanto eu não tenho certeza, se o problema se foi para sempre, vou conceder-lhe a recompensa, por isso não vai para o lixo :-)
bjoernz
O problema ainda persiste :-(
bjoernz 20/05
@jojo: Eu já tinha certeza de que uma redefinição de fábrica não ajuda.
Hurikhan77
@ hurikhan77: Eu queria fazê-lo de qualquer maneira ;-)
bjoernz
4

Finalmente tive a chance de olhar o logcat enquanto o problema estava ocorrendo. A mensagem de erro diz:

Completed command PLAYER_PREPARE status=-17

De acordo com este fórum, "é causado por ter muitos objetos MediaPlayer ativos ao mesmo tempo". Infelizmente ainda não encontrei uma correção. A única solução alternativa conhecida parece estar sendo reiniciada.

Ainda não tenho certeza de qual aplicativo (ou combinação de aplicativos) reproduz o erro de maneira confiável.

Edit : Eu acho que qualquer aplicativo que use a classe MediaPlayer pode causar o problema. Esses aplicativos provavelmente nunca atingem um estado em que chamam MediaPlayer.release () . Talvez seja necessário entrar em contato com os fornecedores de aplicativos que usam o MediaPlayer, para que eles chamem release () .

Minha pesquisa superficial não levou a uma solução que solucionasse o problema sem uma reinicialização.

Editar 2: atualizei para o Android 2.3 (Gingerbread) e, infelizmente, esse problema ainda persiste.

Algumas mensagens de logcat em torno do erro:

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
fonte
Eu mudei para o DarkyROM 10.2, agora na 10.3. Ambas as versões são baseadas em Gingerbread (2.3.3 e 2.3.4) e não apresentam esse comportamento. Portanto, parece ser algo específico para a ROM de ações da Samsung.
hurikhan77
4

Eu tenho o mesmo problema aqui, usando o Galaxy S com Android 2.3.3.

Observando o log, podemos ver o PID (ID do processo) usado pelo PlayerDriver.

V / PlayerDriver (84): comando concluído status PLAYER_PREPARE = ​​-17

Então, eu matei o processo PlayerDriver e ele foi corrigido.

Para fazer isso, você precisa fazer o root no seu dispositivo e conectar-se ao adb como root. Ex.:

shell adb

su

Da próxima vez, tentarei identificar quais arquivos e canais o processo está usando através do comando lsof

Espero que esta ajuda.

Edison
fonte
3

O mesmo problema está na minha galáxia s. Percebi que, se eu uso o Google Listen e tenho alguma fila, o mp3 para de tocar. Depois de limpar a fila, estava ficando bom! Mas ... Parece que o Adobe Flash também influencia na reprodução de mídia. Se eu usá-los, qualquer reprodução de mídia falhará antes de reiniciar. Talvez 2.3 resolva o problema. Quase cansado de encontrar a solução para 2.2 no Galaxy S

geaden
fonte
Acabei de desinstalar o Flash Player e manterá você informado quando o problema ocorrer novamente.
22411 bjoernz
Tenho o flash instalado, mas quase nunca o uso. Os plug-ins são carregados manualmente no meu navegador para que nunca sejam acionados. Duvido que o flash em si seja o problema, provavelmente está relacionado ao uso da memória. Se eu fizer muitas atualizações paralelas do mercado, o mp3 parará de funcionar. Se eu usar aplicativos com muita memória, o mp3 parará de funcionar. Parece que o Android mata um serviço importante (que é um comportamento normal de acordo com a descrição do gerenciamento de tarefas), mas nunca reinicia esse serviço.
Hurikhan77 28/05
Acabei de iniciar todos os aplicativos que tenho (iniciar aplicativo, pressionar o botão home, iniciar o próximo aplicativo, ...) e meus mp3s tocam de qualquer maneira. BTW: o Flash não foi desinstalado aparentemente, apenas as atualizações. Foi atualizado hoje novamente.
Bjoernz #
Eu achei que o aplicativo oficial do Twitter poderia ser um culpado Youtube Forum
geaden
3

Sinto os mesmos problemas e não consigo obter uma causa consistente. Depois de reiniciar o telefone, não vejo o problema novamente por mais 12 a 24 horas. Como uso músicas personalizadas como despertador, adotei o hábito ou reinicializei o telefone antes de dormir. Isso causou muitos dias de atraso antes que eu descobrisse o que estava acontecendo.

Comecei com uma nova instalação de fábrica. Testei por alguns dias sem problemas. Comece a instalar programas um por um, sem problemas. Eventualmente, comecei a usar Widgets, sem problemas. Eu instalei o Launcher Pro sem problemas.

Mas agora os problemas começaram novamente. Desinstalei o Launcher Pro completamente sem sucesso. Eu removi todos os meus widgets, que pareciam funcionar. Adicionei-os de volta um por um e não parecia ter nenhum problema. Mas o problema voltou. Durante o período de duas semanas, não consegui isolar um widget que estava causando o problema; portanto, excluí todos os widgets.

Tenho toques personalizados para meus SMS, notificações, G-talk, Gmail e toques. Quando esse problema ocorre, não consigo nem jogar meu correio de voz, muito menos qualquer outra coisa.

Eu uso um programa chamado "Soundhound" para descobrir músicas que nunca ouvi antes. Eu acho que pode estar relacionado. Por outro lado, eu também uso o Advanced Task Killer, mas mesmo quando eu o tinha instalado antes, não havia problemas. Acho que quando uso o Soundhound, ele está desencadeando algum tipo de reação em cadeia estranha que, eventualmente - horas depois - faz com que meu telefone tenha esse erro.

Não sei o suficiente sobre os logs ou como acessá-los para depurar o telefone de verdade, mas sei que muitas pessoas tiveram esse problema e parece não haver solução. Enquanto isso, desinstalei o Soundhound e estou verificando se ainda tenho o problema.

Konraden
fonte
3

Percebi esse problema na minha galáxia, demorou um pouco para se juntar, mas parecia ter começado quando comecei a usar gerenciadores de tarefas de terceiros. Isso aconteceu com o avançado matador de tarefas e cão de guarda instalado.

Voltei a usar o gerenciador de tarefas nativo e o problema parece ter desaparecido ... Não ocorreu na semana passada. Estou executando o 2.2.1.

O que eu achava mais estranho era que acontecia nos dias em que eu nem usava o gerenciador de tarefas, apenas a mera presença causa o problema ...

Não tenho certeza do motivo técnico por trás disso, mas não se importe ... O Taskgroup nativo está bem.

Espero que isso ajude o resto de vocês.

Todd
fonte
1
É sempre uma boa ideia remover qualquer aplicativo do Gerenciador de tarefas ou assassino de tarefas de terceiros, recomendado pelo Google contra o uso deles. Há evidências de que eles causam muitos problemas, e o gerenciamento de memória já agressivo do Android quase não resolve nada.
precisa
2

Você já tentou testar arquivos de mídia individuais que causam o problema?

Muitas luas atrás, tive um problema em que certos arquivos corromperiam o banco de dados de músicas e eventualmente causariam problemas para toda a biblioteca. Isso é muito hipotético, pois minha experiência não estava em um dispositivo Android e meu Galaxy S funciona muito bem. Apesar disso, pensei que você poderia tentar carregar apenas um pequeno subconjunto de sua mídia e verificar se ainda está com o problema. Não parece um problema de codec e talvez o scanner de mídia limpe o banco de dados quando você reiniciar o telefone. Desculpe, não tenho uma resposta melhor.

KCD
fonte
Vou tentar e informá-lo, se ajudar. Mas como não consigo reproduzir o problema à vontade e não altero minha coleção de mídia no telefone, duvido que tenha alguma coisa a ver com os arquivos no meu telefone.
Bjoernz 13/05
O problema ainda ocorre se não houver arquivos de mídia "externos" no telefone. Acabei de transmitir um podcast em formato mp3 e, após algum tempo / alguma ação, o mediafly me dirá que não é possível transmitir o arquivo e que eu devo baixá-lo (mesmo para o mesmo episódio que funcionou anteriormente). Não é um problema de rede, porque eu posso baixar o episódio sem problemas e ainda não consigo reproduzi-lo, a menos que eu reinicie.
Bjoernz 23/05
Bem, humpff. Talvez 2.3 resolva seu problema? Se eu nunca vê-lo no meu Galaxy SI será certo para voltar
KCD