MediaPlayer无法准备? [英] MediaPlayer unable to prepare?

查看:104
本文介绍了MediaPlayer无法准备?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我写了一个流媒体广播应用程序,该应用程序的功能相当基本,但是有些设备拒绝准备",例如运行2.2的Optimus One.我的应用程序可以在其他2.2设备上运行,而我兄弟的S2可以运行2.3,Prime可以运行4.0.3.

有人知道为什么我的特定设计无法准备音频吗?

在下面添加了一些代码

private void togglePlay() {
    try {
        if(!this.player.isPlaying()) {
            this.player.setAudioStreamType(AudioManager.STREAM_MUSIC);
            this.player.setDataSource(this.address);
            this.player.prepareAsync();
        } else {
            this.player.reset();
        }
    } catch (IllegalArgumentException e) {
        ;
    } catch (IllegalStateException e) {
        ;
    } catch (IOException e) {
        ;
    }
}

添加了ADB日志

03-09 08:17:26.933: I/ActivityManager(1352): Starting activity: Intent { cmp=com.landonmanning.mediaplayer.celestiaradio/.Media }
03-09 08:17:27.003: V/PVPlayer(1281): PVPlayer constructor
03-09 08:17:27.003: V/PVPlayer(1281): construct PlayerDriver
03-09 08:17:27.003: V/PlayerDriver(1281): constructor
03-09 08:17:27.013: V/PlayerDriver(1281): OpenCore hardware module loaded
03-09 08:17:27.013: V/PlayerDriver(1281): start player thread
03-09 08:17:27.023: V/PlayerDriver(1281): startPlayerThread
03-09 08:17:27.023: V/PlayerDriver(1281): InitializeForThread
03-09 08:17:27.023: V/PlayerDriver(1281): OMX_MasterInit
03-09 08:17:27.043: V/PlayerDriver(1281): OsclScheduler::Init
03-09 08:17:27.043: V/PlayerDriver(1281): CreatePlayer
03-09 08:17:27.083: V/PlayerDriver(1281): AddToScheduler
03-09 08:17:27.083: V/PlayerDriver(1281): PendForExec
03-09 08:17:27.083: V/PlayerDriver(1281): OsclActiveScheduler::Current
03-09 08:17:27.083: V/PlayerDriver(1281): StartScheduler
03-09 08:17:27.093: V/PVPlayer(1281): send PLAYER_SETUP
03-09 08:17:27.093: V/PlayerDriver(1281): Send player code: 2
03-09 08:17:27.093: V/PlayerDriver(1281): CommandCompleted
03-09 08:17:27.093: V/PlayerDriver(1281): Completed command PLAYER_SETUP status=PVMFSuccess
03-09 08:17:27.093: V/PVPlayer(1281): setDataSource(http://molestia.ponify.me:8062)
03-09 08:17:27.093: V/PVPlayer(1281): prepareAsync
03-09 08:17:27.093: V/PVPlayer(1281):   data source = http://molestia.ponify.me:8062
03-09 08:17:27.103: V/PlayerDriver(1281): Send player code: 3
03-09 08:17:27.103: V/PlayerDriver(1281): handleSetDataSource
03-09 08:17:27.103: V/PlayerDriver(1281): handleSetDataSource- scanning for extension
03-09 08:17:27.193: V/PlayerDriver(1281): CommandCompleted
03-09 08:17:27.193: V/PlayerDriver(1281): Completed command PLAYER_SET_DATA_SOURCE status=PVMFSuccess
03-09 08:17:27.193: V/PVPlayer(1281): run_init s=0, cancelled=0
03-09 08:17:27.193: V/PlayerDriver(1281): Send player code: 6
03-09 08:17:27.193: V/PlayerDriver(1281): release string is 2.2 len 3
03-09 08:17:27.453: D/StatusBarPolicy(1352): [BRIGHTHY] 0. mDataNetType: 3
03-09 08:17:27.453: D/StatusBarPolicy(1352): [BRIGHTHY] curNetwork=302220 curHPLMN=302220
03-09 08:17:27.903: I/ActivityManager(1352): Displayed activity com.landonmanning.mediaplayer.celestiaradio/.Media: 951 ms (total 4183 ms)
03-09 08:17:28.123: V/PlayerDriver(1281): HandleInformationalEvent: PVMFInfoErrorHandlingStart
03-09 08:17:28.123: V/PlayerDriver(1281): HandleInformationalEvent: type=26 UNHANDLED
03-09 08:17:28.123: W/MediaPlayer(20004): info/warning (1, 26)
03-09 08:17:28.123: I/MediaPlayer(20004): Info (1,26)
03-09 08:17:28.133: V/PlayerDriver(1281): CommandCompleted
03-09 08:17:28.133: V/PlayerDriver(1281): Completed command PLAYER_INIT status=PVMFFailure
03-09 08:17:28.133: E/PlayerDriver(1281): Command PLAYER_INIT completed with an error or info PVMFFailure, -1
03-09 08:17:28.133: E/MediaPlayer(20004): error (1, -1)
03-09 08:17:28.133: E/MediaPlayer(20004): Error (1,-1)
03-09 08:17:28.133: V/PVPlayer(1281): run_set_video_surface s=-2147483648, cancelled=0
03-09 08:17:28.133: V/PlayerDriver(1281): HandleInformationalEvent: PVMFInfoErrorHandlingComplete
03-09 08:17:28.133: W/PlayerDriver(1281): PVMFInfoErrorHandlingComplete

解决方案

我刚刚在手机上刷新了CyanogenMod 7,现在我的应用程序运行良好.显然LG很弱智,喜欢破坏事物.仍然不确定为什么其他应用程序能正常工作,而我的却没有,但我只需要在我的应用程序说明中添加一条便条,即可向其他LG用户解释该问题.

I wrote a streaming radio app that is fairly basic in functionality but some devices refuse to "prepare" such as my Optimus One running 2.2. My app runs on other 2.2 devices any my brother's S2 running 2.3 and my Prime running 4.0.3.

Any idea why my specific devise will not prepare the audio?

Edit: Added some code below

private void togglePlay() {
    try {
        if(!this.player.isPlaying()) {
            this.player.setAudioStreamType(AudioManager.STREAM_MUSIC);
            this.player.setDataSource(this.address);
            this.player.prepareAsync();
        } else {
            this.player.reset();
        }
    } catch (IllegalArgumentException e) {
        ;
    } catch (IllegalStateException e) {
        ;
    } catch (IOException e) {
        ;
    }
}

Edit: Added ADB log

03-09 08:17:26.933: I/ActivityManager(1352): Starting activity: Intent { cmp=com.landonmanning.mediaplayer.celestiaradio/.Media }
03-09 08:17:27.003: V/PVPlayer(1281): PVPlayer constructor
03-09 08:17:27.003: V/PVPlayer(1281): construct PlayerDriver
03-09 08:17:27.003: V/PlayerDriver(1281): constructor
03-09 08:17:27.013: V/PlayerDriver(1281): OpenCore hardware module loaded
03-09 08:17:27.013: V/PlayerDriver(1281): start player thread
03-09 08:17:27.023: V/PlayerDriver(1281): startPlayerThread
03-09 08:17:27.023: V/PlayerDriver(1281): InitializeForThread
03-09 08:17:27.023: V/PlayerDriver(1281): OMX_MasterInit
03-09 08:17:27.043: V/PlayerDriver(1281): OsclScheduler::Init
03-09 08:17:27.043: V/PlayerDriver(1281): CreatePlayer
03-09 08:17:27.083: V/PlayerDriver(1281): AddToScheduler
03-09 08:17:27.083: V/PlayerDriver(1281): PendForExec
03-09 08:17:27.083: V/PlayerDriver(1281): OsclActiveScheduler::Current
03-09 08:17:27.083: V/PlayerDriver(1281): StartScheduler
03-09 08:17:27.093: V/PVPlayer(1281): send PLAYER_SETUP
03-09 08:17:27.093: V/PlayerDriver(1281): Send player code: 2
03-09 08:17:27.093: V/PlayerDriver(1281): CommandCompleted
03-09 08:17:27.093: V/PlayerDriver(1281): Completed command PLAYER_SETUP status=PVMFSuccess
03-09 08:17:27.093: V/PVPlayer(1281): setDataSource(http://molestia.ponify.me:8062)
03-09 08:17:27.093: V/PVPlayer(1281): prepareAsync
03-09 08:17:27.093: V/PVPlayer(1281):   data source = http://molestia.ponify.me:8062
03-09 08:17:27.103: V/PlayerDriver(1281): Send player code: 3
03-09 08:17:27.103: V/PlayerDriver(1281): handleSetDataSource
03-09 08:17:27.103: V/PlayerDriver(1281): handleSetDataSource- scanning for extension
03-09 08:17:27.193: V/PlayerDriver(1281): CommandCompleted
03-09 08:17:27.193: V/PlayerDriver(1281): Completed command PLAYER_SET_DATA_SOURCE status=PVMFSuccess
03-09 08:17:27.193: V/PVPlayer(1281): run_init s=0, cancelled=0
03-09 08:17:27.193: V/PlayerDriver(1281): Send player code: 6
03-09 08:17:27.193: V/PlayerDriver(1281): release string is 2.2 len 3
03-09 08:17:27.453: D/StatusBarPolicy(1352): [BRIGHTHY] 0. mDataNetType: 3
03-09 08:17:27.453: D/StatusBarPolicy(1352): [BRIGHTHY] curNetwork=302220 curHPLMN=302220
03-09 08:17:27.903: I/ActivityManager(1352): Displayed activity com.landonmanning.mediaplayer.celestiaradio/.Media: 951 ms (total 4183 ms)
03-09 08:17:28.123: V/PlayerDriver(1281): HandleInformationalEvent: PVMFInfoErrorHandlingStart
03-09 08:17:28.123: V/PlayerDriver(1281): HandleInformationalEvent: type=26 UNHANDLED
03-09 08:17:28.123: W/MediaPlayer(20004): info/warning (1, 26)
03-09 08:17:28.123: I/MediaPlayer(20004): Info (1,26)
03-09 08:17:28.133: V/PlayerDriver(1281): CommandCompleted
03-09 08:17:28.133: V/PlayerDriver(1281): Completed command PLAYER_INIT status=PVMFFailure
03-09 08:17:28.133: E/PlayerDriver(1281): Command PLAYER_INIT completed with an error or info PVMFFailure, -1
03-09 08:17:28.133: E/MediaPlayer(20004): error (1, -1)
03-09 08:17:28.133: E/MediaPlayer(20004): Error (1,-1)
03-09 08:17:28.133: V/PVPlayer(1281): run_set_video_surface s=-2147483648, cancelled=0
03-09 08:17:28.133: V/PlayerDriver(1281): HandleInformationalEvent: PVMFInfoErrorHandlingComplete
03-09 08:17:28.133: W/PlayerDriver(1281): PVMFInfoErrorHandlingComplete

解决方案

I just flashed CyanogenMod 7 on my phone and my app now works great. Apparently LG is retarded and likes to break things. Still not sure why other apps work and mine didn't but I'll just have to add a note to my app description explaining the issue to other LG users.

这篇关于MediaPlayer无法准备?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆