MediaPlayer的一个狗血问题,好几天了,大家帮忙看看
minvt 2010-10-12 10:38:12 最近的开发用到了一个功能,需要播放http的在线mp3文件,用的是MediaPlayer类,开始的时候很爽,几行代码就ok,就是先setDataSource(url) 然后PrepareAsync/Prepare,在OnPreparedListener里面start(),在htc g2上跑得很好,很稳定,可是拿到moto XT800上的时候却总是播放失败,只有偶尔成功过,试过了Create方法 setDataSource(Context,Uri)方法,setAudioStreamType(AudioManager.STREAM_MUSIC)都不行,真是相当郁闷,用AsyncPlayer类也不行,出错信息一样,但是所有这些在g2上都可以,g2用过1.6的系统,2.2的系统,xt800是2.1u1系统,我们的产品必须要在xt800上使用,这都好几天了,翻遍了网络都没找到原因T_T,这可怎么办呢,大家帮忙看看吧,我把两次出错前的LogCat信息贴上来,每次都是Prepare不成功。
10-12 20:43:27.668: DEBUG/dalvikvm(1276): GC freed 4423 objects / 271784 bytes in 204ms
10-12 20:43:36.457: ERROR/MediaPlayer(5945): stop called in state 1
10-12 20:43:39.856: DEBUG/omx_interface(1166): TIOMXInterface: creating interface
10-12 20:43:39.856: DEBUG/omx_interface(1166): Calling DLOPEN on OMX_CORE_LIBRARY (libOMX_Core.so)
10-12 20:43:39.856: DEBUG/omx_interface(1166): DLOPEN SUCCEEDED (libOMX_Core.so)
10-12 20:43:39.856: DEBUG/omx_interface(1166): TIOMXInterface: library lookup success
10-12 20:43:39.872: DEBUG/TIOMX_CORE(1166): init count = 1
10-12 20:43:39.950: DEBUG/PlayerDriver(1166): setHttpDownloadFilename:url(http://zonehey.com/123.mp3)
10-12 20:43:39.950: DEBUG/PlayerDriver(1166): setHttpDownloadFilename: retrieved ext(.mp3)
10-12 20:43:39.950: DEBUG/PlayerDriver(1166): setHttpDownloadFilename: find ext(.mp3)
10-12 20:43:39.950: DEBUG/PlayerDriver(1166): setHttpDownloadFilename: truncated filename (http://zonehey.com/123)
10-12 20:43:39.957: DEBUG/PlayerDriver(1166): setHttpDownloadFilename: original filename (123.mp3)
10-12 20:43:39.957: DEBUG/PlayerDriver(1166): setHttpDownloadFilename: replaced filename (/sdcard/download/123.mp3)
10-12 20:43:40.700: INFO/hiker_palyer(5945): 0
10-12 20:43:47.872: VERBOSE/PVASFFFRecognizerPlugin(1166): PVASFFFRecognizerPlugin::Recognize
10-12 20:43:47.879: VERBOSE/PVASFFFRecognizerPlugin(1166): trying to recognize asf file...
10-12 20:43:47.879: VERBOSE/PVASFFFRecognizerPlugin(1166): recognize finished, isasffile = 0
10-12 20:43:47.879: VERBOSE/PVMKVFFRecognizerPlugin(1166): PVMKVFFRecognizerPlugin::Recognize
10-12 20:43:47.879: VERBOSE/PVMKVFFRecognizerPlugin(1166): trying to recognize mkv file...
10-12 20:43:47.887: VERBOSE/PVMKVFFRecognizerPlugin(1166): recognize finished, ismkvfile = 0
10-12 20:43:47.887: VERBOSE/PVAVIFFRecognizerPlugin(1166): PVAVIFFRecognizerPlugin::Recognize
10-12 20:43:47.887: VERBOSE/PVAVIFFRecognizerPlugin(1166): trying to recognize avi file...
10-12 20:43:47.887: VERBOSE/PVAVIFFRecognizerPlugin(1166): recognize finished, isavifile = 0
10-12 20:43:47.895: WARN/MediaPlayer(5945): info/warning (1, 26)
10-12 20:43:47.895: INFO/MediaPlayer(5945): Info (1,26)
10-12 20:43:47.911: ERROR/PlayerDriver(1166): Command PLAYER_INIT completed with an error or info PVMFErrCorrupt
10-12 20:43:47.918: ERROR/MediaPlayer(5945): error (1, -10)
10-12 20:43:47.918: ERROR/MediaPlayer(5945): Error (1,-10)
10-12 20:43:47.918: WARN/PlayerDriver(1166): PVMFInfoErrorHandlingComplete
10-12 20:43:47.918: INFO/hiker_palyer(5945): error1
10-12 20:43:47.918: INFO/hiker_palyer(5945): complete1
10-12 20:43:47.918: ERROR/MediaPlayer(5945): stop called in state 1
10-12 20:43:47.918: ERROR/MediaPlayer(5945): error (-38, 0)
10-12 20:56:03.584: DEBUG/dalvikvm(1276): GC freed 1904 objects / 98944 bytes in 144ms
10-12 20:56:06.412: DEBUG/MediaPlayer(6405): Couldn't open file on client side, trying server side
10-12 20:56:06.428: DEBUG/omx_interface(1166): TIOMXInterface: creating interface
10-12 20:56:06.428: DEBUG/omx_interface(1166): Calling DLOPEN on OMX_CORE_LIBRARY (libOMX_Core.so)
10-12 20:56:06.428: DEBUG/omx_interface(1166): DLOPEN SUCCEEDED (libOMX_Core.so)
10-12 20:56:06.428: DEBUG/omx_interface(1166): TIOMXInterface: library lookup success
10-12 20:56:06.436: DEBUG/TIOMX_CORE(1166): init count = 1
10-12 20:56:06.475: DEBUG/PlayerDriver(1166): setHttpDownloadFilename:url(http://zonehey.com/123.mp3)
10-12 20:56:06.475: DEBUG/PlayerDriver(1166): setHttpDownloadFilename: retrieved ext(.mp3)
10-12 20:56:06.475: DEBUG/PlayerDriver(1166): setHttpDownloadFilename: find ext(.mp3)
10-12 20:56:06.475: DEBUG/PlayerDriver(1166): setHttpDownloadFilename: truncated filename (http://zonehey.com/123)
10-12 20:56:06.475: DEBUG/PlayerDriver(1166): setHttpDownloadFilename: original filename (123.mp3)
10-12 20:56:06.475: DEBUG/PlayerDriver(1166): setHttpDownloadFilename: replaced filename (/sdcard/download/123.mp3)
10-12 20:56:08.576: INFO/hiker_palyer(6405): 0
10-12 20:56:12.912: VERBOSE/PVASFFFRecognizerPlugin(1166): PVASFFFRecognizerPlugin::Recognize
10-12 20:56:12.920: VERBOSE/PVASFFFRecognizerPlugin(1166): trying to recognize asf file...
10-12 20:56:12.920: VERBOSE/PVASFFFRecognizerPlugin(1166): recognize finished, isasffile = 0
10-12 20:56:12.920: VERBOSE/PVMKVFFRecognizerPlugin(1166): PVMKVFFRecognizerPlugin::Recognize
10-12 20:56:12.920: VERBOSE/PVMKVFFRecognizerPlugin(1166): trying to recognize mkv file...
10-12 20:56:12.920: VERBOSE/PVMKVFFRecognizerPlugin(1166): recognize finished, ismkvfile = 0
10-12 20:56:12.920: VERBOSE/PVAVIFFRecognizerPlugin(1166): PVAVIFFRecognizerPlugin::Recognize
10-12 20:56:12.920: VERBOSE/PVAVIFFRecognizerPlugin(1166): trying to recognize avi file...
10-12 20:56:12.920: VERBOSE/PVAVIFFRecognizerPlugin(1166): recognize finished, isavifile = 0
10-12 20:56:12.928: WARN/MediaPlayer(6405): info/warning (1, 26)
10-12 20:56:12.928: INFO/MediaPlayer(6405): Info (1,26)
10-12 20:56:12.944: ERROR/PlayerDriver(1166): Command PLAYER_INIT completed with an error or info PVMFErrCorrupt
10-12 20:56:12.944: ERROR/MediaPlayer(6405): error (1, -10)
10-12 20:56:12.951: ERROR/MediaPlayer(6405): Error (1,-10)
10-12 20:56:12.951: WARN/PlayerDriver(1166): PVMFInfoErrorHandlingComplete
10-12 20:56:12.951: INFO/hiker_palyer(6405): error1
10-12 20:56:12.951: INFO/hiker_palyer(6405): complete1
10-12 20:56:12.951: ERROR/MediaPlayer(6405): stop called in state 1
10-12 20:56:12.951: ERROR/MediaPlayer(6405): error (-38, 0)