不支持的文件类型:为什么我的Samsung Galaxy S突然停止支持MP3?


11

突然之间,我的三星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上找到了一些热门信息),遇到同样问题的人建议只是重启手机-但这根本无法解决。或者,他们建议将手机寄回进行更换-并猜测一下:对于遇到此问题的人来说,这还不能解决问题。因此,我建议这不是硬件问题(与sdcard和手机本身均无关)。


1
我现在两次遇到相同的问题,但是我无法解决这个问题。顺便说一句:我不使用Titanium Backup,因此您可能会发现罪魁祸首。
2011年

@马特我认为这没有帮助。一方面,这是我的矛盾,另一方面,@ bjoernz确认在没有安装TB的情况下也正在发生这种情况。
hurikhan77 2011年

顺便说一句:我怀疑是MediaFly应用程序或Adobe Flash是罪魁祸首……
bjoernz 2011年

@bjoern我不使用MediaFly,所以您可以删除它。但是Flash如何适合图片?
hurikhan77 2011年

1
这太荒谬了。自从我对这个问题发表评论以来,我可以每2-3天观察到这种效果……而我仍然无法执行这种行为。顺便说一句:它不仅影响MP3,视频文件(* .mp4)也受到影响。
2011年

Answers:


4

我想我找到了问题。

就像bjoernz所说的那样,某些应用程序正在从MediaPlayer类创建许多对象,并且此后没有释放它。因此,我打开了一个adb shell,成为root(su),并使用以下命令找到了mediaserver的PID(进程ID):

ps | grep mediaserver

在我的情况下,媒体服务器的PID为:84

然后,我使用以下命令列出了该PID使用的所有资源:

lsof | grep 84

我得到以下结果:在此处输入图片说明

因此,可以很容易地确定出官方的Twitter应用程序(com.twitter.android-1.apk)是问题所在。然后我删除了Twitter应用程序,而是安装了TweetDeck,问题从上周开始消失了。

希望这可以帮到你。

[]的


这很有趣...
hurikhan77'9

7

不得已的方法始终是恢复出厂设置,这应该可以解决此问题。您还可以查看logcat的输出,也许这会给您提示问题的原因。


升级到2.2.1时,我进行了新的出厂重置-本质上这就是为什么我购买了TB许可证(通过手动确认恢复100个应用超出了我的耐心)的原因
hurikhan77 2011年

1
即使我真的不想恢复出厂设置,我还是在星期五尝试了一下,此后再也没有出现问题。虽然我不确定,如果问题永远消失了,我将奖励您赏金,所以它不会浪费:-)
bjoernz 2011年

问题仍然存在:-(
bjoernz

@bjoern:我已经确定恢复出厂设置无济于事。
hurikhan77 2011年

@ 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

我已经切换到DarkyROM 10.2,现在是10.3。两种版本都是基于姜饼(2.3.3和2.3.4),并且没有表现出这种行为。因此,这似乎是三星股票ROM特有的。
hurikhan77'9

4

我在使用Android 2.3.3的Galaxy S时遇到了同样的问题。

查看日志,我们可以看到PlayerDriver使用的PID(进程ID)。

V / PlayerDriver(84):已完成命令PLAYER_PREPARE status = -17

因此,我已经杀死了PlayerDriver进程,并且该进程已修复。

为了做到这一点,您需要对您的设备进行根目录并以root身份与adb连接。例如:

亚行外壳

su

下次,我将尝试通过lsof命令确定进程正在使用哪些文件和管道。

希望对您有所帮助。


3

我的银河系也存在同样的问题。我注意到,如果我使用Google Listen并且有一些队列,mp3会停止播放。清除队列后,一切正常!但是...似乎Adobe Flash也影响媒体播放。如果我使用它们,则重新启动之前,任何媒体播放都会失败。也许2.3将解决此问题。在Galaxy S上找到2.2的解决方案几乎感到厌倦


我刚刚卸载了Flash Player,并在问题再次出现时通知您。
2011年

我已经安装了Flash,但几乎从未使用过。插件是在我的浏览器中手动加载的,因此永远不会触发。我怀疑闪存本身就是问题所在,它可能与内存使用情况有关。如果我进行了许多并行的市场更新,则mp3停止工作。如果我使用占用大量内存的应用程序,则mp3会停止工作。似乎android杀死了一项重要的服务(根据其任务管理说明,这是正常行为),但从未重启该服务。
hurikhan77 2011年

我刚刚启动了我拥有的每个应用程序(启动应用程序,按主屏幕按钮,启动下一个应用程序...),并且我的mp3当前仍在播放。顺便说一句:显然没有卸载Flash,只有更新。今天再次更新。
2011年

我发现官方的Twitter应用可能是YouTube论坛
盖丹2011年

3

我遇到同样的问题,但似乎无法找到一个一致的原因。重新启动手机后,再过12到24个小时都看不到问题。因为我使用自定义音乐作为闹钟,所以我已经习惯了这种习惯,或者在睡前重新启动了手机。在我弄清楚发生了什么之前,这已经导致许多工作迟到了。

我从工厂全新安装开始。测试了几天没有问题。毫无问题地开始一个接一个地安装程序。最终,我开始使用小部件,没有任何问题。我安装了Launcher Pro,没有任何问题。

但是现在问题又开始了。我完全卸载了Launcher Pro,但没有成功。我删除了所有似乎起作用的小部件。我一个接一个地添加了它们,但似乎没有任何问题。但是问题又回来了。在两周的时间内,我无法隔离出一个导致问题的小部件,因此我排除了所有小部件。

我有用于短信,通知,G-talk,Gmail和铃声的自定义铃声。发生此问题时,我什至无法播放语音信箱,更不用说其他任何东西了。

我使用一个名为“ Soundhound”的程序来发现以前从未听过的音乐。我认为这可能是相关的。再说一次,我也使用了Advanced Task Killer,但是即使我在安装它之前也没有问题。我想当我使用Soundhound时,会引起某种奇怪的连锁反应,最终-数小时后-使我的手机出现此错误。

我对日志或如何实际访问电话调试电话了解得不够多,但我确实知道成群的人都遇到了这个问题,而且似乎没有解决办法。在此期间,我已经卸载了Soundhound,并正在检查是否仍有问题。


3

我在银河系中注意到了这个问题,花了一段时间才解决了这个问题,但是当我开始使用第三方任务管理器时,它似乎已经开始。它发生在安装了高级任务杀手和看门狗之后。

我回过头去使用本机任务管理器,问题似乎已经消失了……。在过去一周中没有发生。我正在运行2.2.1。

我以为最奇怪的是,这件事发生在我什至没有使用任务管理器的日子里,仅仅是由于存在而引起的问题。

不确定其背后的技术原因,但不在乎...本机任务mgr很好。

希望这对您的其他人有所帮助。


1
最好删除所有第三方Task Manager或Task Killer应用程序,Google特别建议不要使用它们。有证据表明,它们会引起很多问题,而Android本身已经非常激进的内存管理几乎无法解决任何问题。
GAThrawn

2

您是否尝试过测试导致问题的单个媒体文件?

许多月前,我遇到了一个问题,即某些文件会破坏音乐数据库,并最终导致整个音乐库出现问题。这是非常假设的,因为我的经验不在Android设备上,而且我的Galaxy S正常运行。尽管如此,我认为您可以尝试仅加载一小部分媒体,看看是否仍然遇到问题。看起来好像没有编解码器问题,并且重启手机时媒体扫描仪可能会清理数据库。对不起,我没有更好的答案。


如果有帮助,我会尽力让您知道。但是由于我无法随意重现该问题,并且根本不更改手机上的媒体收藏,因此我怀疑这与手机上的文件有关。
2011年

如果我的手机上没有“外部”媒体文件,仍然会出现此问题。我刚刚播放了mp3格式的Podcast,经过一段时间/某些动作后,mediafly告诉我它无法流式传输文件,因此我应该下载它(即使以前使用的是同一集)。这不是网络问题,因为我可以毫无问题地下载剧集,而且除非重新启动,否则仍然无法播放。
2011年

好吧,汉普夫 也许2.3将解决您的问题?如果我在我的Galaxy SI上看到它,一定会回来
KCD
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.