Android MediaPlayer不适用于平板电脑设备
我开发了ShoutCastinet Radio,并成功地在移动设备上播放,但如果我在平板设备上执行相同的代码,我就无法播放流,我已经调试了代码,程序流停在下面一行,它无法转发到startMediaPlayer方法,我还使用了mMediaPlayer.prepareAsync 准备 这是我的代码:Android MediaPlayer不适用于平板电脑设备,android,android-layout,android-intent,android-emulator,Android,Android Layout,Android Intent,Android Emulator,我开发了ShoutCastinet Radio,并成功地在移动设备上播放,但如果我在平板设备上执行相同的代码,我就无法播放流,我已经调试了代码,程序流停在下面一行,它无法转发到startMediaPlayer方法,我还使用了mMediaPlayer.prepareAsync 准备 这是我的代码: /** * Initializes a StatefulMediaPlayer for streaming playback of the provided * stream
/**
* Initializes a StatefulMediaPlayer for streaming playback of the provided
* stream url
*
* @param streamUrl
* The URL of the stream to play.
*/
public void initializePlayer(String streamUrl) {
songurl = streamUrl;
Log.d("service", "iam in initialize player");
/*
* if(mMediaPlayer!=null) { resetMediaPlaer(); }
*/
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mMediaPlayer.setDataSource(streamUrl);
// mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnInfoListener(this);
// mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.prepare();
// mMediaPlayer.start();
} catch (Exception e) {
Log.e("MediaPlayerService", "error setting data source");
// mMediaPlayer.setState(MPStates.ERROR);
}
/*
* mMediaPlayer.setOnBufferingUpdateListener(this);
* mMediaPlayer.setOnInfoListener(this); //
* mMediaPlayer.setOnPreparedListener(this);
* mMediaPlayer.prepareAsync();
*/
startMediaPlayer();
}
/**
* Starts the contained StatefulMediaPlayer and foregrounds the service to
* support persisted background playback.
*/
public void startMediaPlayer() {
// mMediaPlayer.stop();
// mMediaPlayer.release();
// mMediaPlayer=mMediaPlayer1;
Log.d("service",
"iam in start mediaplayer" + mMediaPlayer.getCurrentPosition());
// Context context = getApplicationContext();
/*
* //set to foreground Notification notification = new
* Notification(android.R.drawable.ic_media_play, "MediaPlayerService",
* System.currentTimeMillis()); Intent notificationIntent = new
* Intent(this, TORiLTActivity.class);
* notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
* PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,
* notificationIntent, 0);
*
* CharSequence contentTitle = "MediaPlayerService Is Playing";
* CharSequence contentText =
* mMediaPlayer.getStreamStation().getStationLabel();
* notification.setLatestEventInfo(context, contentTitle, contentText,
* pendingIntent); startForeground(1, notification);
*/
Log.d("MediaPlayerService", "startMediaPlayer() called");
mMediaPlayer.start();
}
日志:
更新日志:
05-17 11:13:22.623: D/dalvikvm(4359): DexOpt: load 1ms, verify 36ms, opt 0ms
05-17 11:13:22.627: D/lazyadapter(4340): dataTORi Classics - US Eastern
05-17 11:13:22.631: D/lazyadapter(4340): dataTORi Classics - UK(GMT)
05-17 11:13:22.643: D/dalvikvm(4340): DexOpt: --- END 'ads63728.jar' (success) ---
05-17 11:13:22.643: D/dalvikvm(4340): DEX prep '/data/data/com.teluguone.torilt/cache/ads63728.jar': unzip in 0ms, rewrite 127ms
05-17 11:13:22.659: D/lazyadapter(4340): dataTORi Classics - IST
05-17 11:13:22.663: D/lazyadapter(4340): dataTORi Classics - Australia
05-17 11:13:22.663: D/lazyadapter(4340): dataTORi Generations - Ghantasala Era
05-17 11:13:22.678: D/lazyadapter(4340): dataTORi Generations - Illayaraja - SPB Era
05-17 11:13:22.702: D/MainActivity(4340): service connected
05-17 11:13:22.702: D/if(4340): media null
05-17 11:13:22.702: D/service(4340): iam in initialize player
05-17 11:13:22.702: V/MediaPlayer-JNI(4340): native_setup
05-17 11:13:22.702: V/MediaPlayer(4340): constructor
05-17 11:13:22.702: V/MediaPlayer(4340): setListener
05-17 11:13:22.702: V/MediaPlayer-JNI(4340): setAudioStreamType: 3
05-17 11:13:22.702: V/MediaPlayer(4340): MediaPlayer::setAudioStreamType
05-17 11:13:22.702: V/MediaPlayer-JNI(4340): setDataSource: path http://38.101.195.5:9156/
05-17 11:13:22.702: V/MediaPlayer(4340): setDataSource(http://38.101.195.5:9156/)
05-17 11:13:22.702: V/PVPlayer(2394): PVPlayer constructor
05-17 11:13:22.702: V/PVPlayer(2394): construct PlayerDriver
05-17 11:13:22.702: V/PlayerDriver(2394): constructor
05-17 11:13:22.702: V/PlayerDriver(2394): OpenCore hardware module not found
05-17 11:13:22.702: V/PlayerDriver(2394): start player thread
05-17 11:13:22.702: V/AlarmManager(2487): Checked for alarms... rtc=1368769402705, elapsed=1174139
05-17 11:13:22.702: V/AlarmManager(2487): sending alarm Alarm{482b3d10 type 2 cellfish.spidermanlwp}
05-17 11:13:22.713: V/PlayerDriver(2394): startPlayerThread
05-17 11:13:22.713: V/PlayerDriver(2394): InitializeForThread
05-17 11:13:22.713: V/PlayerDriver(2394): OMX_MasterInit
05-17 11:13:22.733: V/PlayerDriver(2394): OsclScheduler::Init
05-17 11:13:22.733: V/PlayerDriver(2394): CreatePlayer
05-17 11:13:22.772: D/(2394): SISO TEST registering PVMFRecognizerPluginFactory
05-17 11:13:22.780: D/(2394): SISO TEST registering PVMFRecognizerPluginFactory success
05-17 11:13:22.780: V/PlayerDriver(2394): AddToScheduler
05-17 11:13:22.780: V/PlayerDriver(2394): PendForExec
05-17 11:13:22.780: V/PlayerDriver(2394): OsclActiveScheduler::Current
05-17 11:13:22.780: V/PlayerDriver(2394): StartScheduler
05-17 11:13:22.780: V/PVPlayer(2394): send PLAYER_SETUP
05-17 11:13:22.780: V/PlayerDriver(2394): Send player code: 2
05-17 11:13:22.780: V/PlayerDriver(2394): CommandCompleted
05-17 11:13:22.780: V/PlayerDriver(2394): Completed command PLAYER_SETUP status=1
05-17 11:13:22.780: V/PVPlayer(2394): setDataSource(http://38.101.195.5:9156/)
05-17 11:13:22.780: I/PlayerDriver(2394): PlayerDriver::isProtectedFile(http://38.101.195.5:9156/)
05-17 11:13:22.780: V/PlayerDriver(2394): File EXT is : 156/
05-17 11:13:22.780: E/PlayerDriver(2394): PlayerDriver::it is a not Protected file
05-17 11:13:22.780: D/Before Prepare(4340): Before Prepare
05-17 11:13:22.780: V/MediaPlayer(4340): prepare
05-17 11:13:22.780: V/PVPlayer(2394): prepareAsync
05-17 11:13:22.780: V/PVPlayer(2394): data source = http://38.101.195.5:9156/
05-17 11:13:22.780: V/PlayerDriver(2394): Send player code: 3
05-17 11:13:22.784: V/PlayerDriver(2394): handleSetDataSource
05-17 11:13:22.784: V/PlayerDriver(2394): handleSetDataSource- scanning for extension
05-17 11:13:22.791: E/(2394): IIIIIII Inside Constructor of PVMFMemoryBufferWriteDataStreamImpl
05-17 11:13:22.795: I/Ads(4340): adRequestUrlHtml: <html><head><script src="http://media.admob.com/sdk-core-v40.js"></script><script>AFMA_getSdkConstants();AFMA_buildAdURL({"preqs":0,"session_id":"17067838220037024582","u_sd":1.5,"seq_num":"1","slotname":"a151948104adce5","u_w":400,"msid":"com.teluguone.torilt","js":"afma-sdk-a-v6.4.1","ms":"oEgs7AKryna8KvMqjp_veS4HICbxcQXk86Dgp8cc21LM7ksOsDLF36O3QFRPR4Y204YM2NfWWbvnxM8Jr8KEi-j-MXNUqBlyS31OWOOiSo0v1iUYlZsYGhG_EAleiYSLv8oWMvUvTPSP7eVF_uUtssWKhL7YQZHs3YvpAKtrA3wDx_dOOhLSwDZdnnFHjy3zTUK8JQN6K4T-p-7Wpiyyz7Zowa_-vqgkd0_qzFelKxEKVGnq1NszZLUPY2RPJcwlpx47MudnL4n4hRi2DnZRdDQodDsQY2ITW_lLgw4DSaI0cQJNc7WvHT26WUIwUscFot5Nd4tqxf7wxBGN5tAuAw","mv":"8016014.com.android.vending","isu":"CF95DC53F383F9A836FD749F3EF439CD","bas_off":0,"format":"320x50_mb","oar":0,"net":"wi","app_name":"1.android.com.teluguone.torilt","hl":"en","ad_pos":{"height":0,"visible":1,"y":181,"x":0,"width":900},"gnt":1,"u_h":682,"pt":1,"carrier":"40407","bas_on":0,"ptime":0,"u_audio":1});</script></head><body></body></html>
05-17 11:13:22.799: V/PlayerDriver(2394): CommandCompleted
05-17 11:13:22.799: V/PlayerDriver(2394): Completed command PLAYER_SET_DATA_SOURCE status=1
05-17 11:13:22.799: V/PVPlayer(2394): run_init s=0, cancelled=0
05-17 11:13:22.799: V/PlayerDriver(2394): Send player code: 6
05-17 11:13:22.799: V/PlayerDriver(2394): release string is 2.2 len 3
05-17 11:13:25.327: I/AudioHardwareALSA(2394): Output standby called!!. Turn off PCM device.
05-17 11:13:27.945: W/PowerManagerService(2487): Timer 0x7->0x3|0x1
05-17 11:13:27.945: I/PowerManagerService(2487): Ulight 7->3|0
05-17 11:13:32.051: W/ActivityManager(2487): Launch timeout has expired, giving up wake lock!
05-17 11:13:32.104: W/ActivityManager(2487): Activity idle timeout for HistoryRecord{4836f658 com.teluguone.torilt/.TORiLTActivity}
05-17 11:13:37.151: W/ActivityManager(2487): Activity destroy timeout
有人能帮忙吗?您的logcat的错误部分在哪里?您的logcat没有多大帮助。发布堆栈跟踪并告诉我们哪个平板电脑和操作系统版本有问题。我正在使用andriod FirmvareVersion 2.2 for TabletI更新我的日志
05-17 11:13:22.623: D/dalvikvm(4359): DexOpt: load 1ms, verify 36ms, opt 0ms
05-17 11:13:22.627: D/lazyadapter(4340): dataTORi Classics - US Eastern
05-17 11:13:22.631: D/lazyadapter(4340): dataTORi Classics - UK(GMT)
05-17 11:13:22.643: D/dalvikvm(4340): DexOpt: --- END 'ads63728.jar' (success) ---
05-17 11:13:22.643: D/dalvikvm(4340): DEX prep '/data/data/com.teluguone.torilt/cache/ads63728.jar': unzip in 0ms, rewrite 127ms
05-17 11:13:22.659: D/lazyadapter(4340): dataTORi Classics - IST
05-17 11:13:22.663: D/lazyadapter(4340): dataTORi Classics - Australia
05-17 11:13:22.663: D/lazyadapter(4340): dataTORi Generations - Ghantasala Era
05-17 11:13:22.678: D/lazyadapter(4340): dataTORi Generations - Illayaraja - SPB Era
05-17 11:13:22.702: D/MainActivity(4340): service connected
05-17 11:13:22.702: D/if(4340): media null
05-17 11:13:22.702: D/service(4340): iam in initialize player
05-17 11:13:22.702: V/MediaPlayer-JNI(4340): native_setup
05-17 11:13:22.702: V/MediaPlayer(4340): constructor
05-17 11:13:22.702: V/MediaPlayer(4340): setListener
05-17 11:13:22.702: V/MediaPlayer-JNI(4340): setAudioStreamType: 3
05-17 11:13:22.702: V/MediaPlayer(4340): MediaPlayer::setAudioStreamType
05-17 11:13:22.702: V/MediaPlayer-JNI(4340): setDataSource: path http://38.101.195.5:9156/
05-17 11:13:22.702: V/MediaPlayer(4340): setDataSource(http://38.101.195.5:9156/)
05-17 11:13:22.702: V/PVPlayer(2394): PVPlayer constructor
05-17 11:13:22.702: V/PVPlayer(2394): construct PlayerDriver
05-17 11:13:22.702: V/PlayerDriver(2394): constructor
05-17 11:13:22.702: V/PlayerDriver(2394): OpenCore hardware module not found
05-17 11:13:22.702: V/PlayerDriver(2394): start player thread
05-17 11:13:22.702: V/AlarmManager(2487): Checked for alarms... rtc=1368769402705, elapsed=1174139
05-17 11:13:22.702: V/AlarmManager(2487): sending alarm Alarm{482b3d10 type 2 cellfish.spidermanlwp}
05-17 11:13:22.713: V/PlayerDriver(2394): startPlayerThread
05-17 11:13:22.713: V/PlayerDriver(2394): InitializeForThread
05-17 11:13:22.713: V/PlayerDriver(2394): OMX_MasterInit
05-17 11:13:22.733: V/PlayerDriver(2394): OsclScheduler::Init
05-17 11:13:22.733: V/PlayerDriver(2394): CreatePlayer
05-17 11:13:22.772: D/(2394): SISO TEST registering PVMFRecognizerPluginFactory
05-17 11:13:22.780: D/(2394): SISO TEST registering PVMFRecognizerPluginFactory success
05-17 11:13:22.780: V/PlayerDriver(2394): AddToScheduler
05-17 11:13:22.780: V/PlayerDriver(2394): PendForExec
05-17 11:13:22.780: V/PlayerDriver(2394): OsclActiveScheduler::Current
05-17 11:13:22.780: V/PlayerDriver(2394): StartScheduler
05-17 11:13:22.780: V/PVPlayer(2394): send PLAYER_SETUP
05-17 11:13:22.780: V/PlayerDriver(2394): Send player code: 2
05-17 11:13:22.780: V/PlayerDriver(2394): CommandCompleted
05-17 11:13:22.780: V/PlayerDriver(2394): Completed command PLAYER_SETUP status=1
05-17 11:13:22.780: V/PVPlayer(2394): setDataSource(http://38.101.195.5:9156/)
05-17 11:13:22.780: I/PlayerDriver(2394): PlayerDriver::isProtectedFile(http://38.101.195.5:9156/)
05-17 11:13:22.780: V/PlayerDriver(2394): File EXT is : 156/
05-17 11:13:22.780: E/PlayerDriver(2394): PlayerDriver::it is a not Protected file
05-17 11:13:22.780: D/Before Prepare(4340): Before Prepare
05-17 11:13:22.780: V/MediaPlayer(4340): prepare
05-17 11:13:22.780: V/PVPlayer(2394): prepareAsync
05-17 11:13:22.780: V/PVPlayer(2394): data source = http://38.101.195.5:9156/
05-17 11:13:22.780: V/PlayerDriver(2394): Send player code: 3
05-17 11:13:22.784: V/PlayerDriver(2394): handleSetDataSource
05-17 11:13:22.784: V/PlayerDriver(2394): handleSetDataSource- scanning for extension
05-17 11:13:22.791: E/(2394): IIIIIII Inside Constructor of PVMFMemoryBufferWriteDataStreamImpl
05-17 11:13:22.795: I/Ads(4340): adRequestUrlHtml: <html><head><script src="http://media.admob.com/sdk-core-v40.js"></script><script>AFMA_getSdkConstants();AFMA_buildAdURL({"preqs":0,"session_id":"17067838220037024582","u_sd":1.5,"seq_num":"1","slotname":"a151948104adce5","u_w":400,"msid":"com.teluguone.torilt","js":"afma-sdk-a-v6.4.1","ms":"oEgs7AKryna8KvMqjp_veS4HICbxcQXk86Dgp8cc21LM7ksOsDLF36O3QFRPR4Y204YM2NfWWbvnxM8Jr8KEi-j-MXNUqBlyS31OWOOiSo0v1iUYlZsYGhG_EAleiYSLv8oWMvUvTPSP7eVF_uUtssWKhL7YQZHs3YvpAKtrA3wDx_dOOhLSwDZdnnFHjy3zTUK8JQN6K4T-p-7Wpiyyz7Zowa_-vqgkd0_qzFelKxEKVGnq1NszZLUPY2RPJcwlpx47MudnL4n4hRi2DnZRdDQodDsQY2ITW_lLgw4DSaI0cQJNc7WvHT26WUIwUscFot5Nd4tqxf7wxBGN5tAuAw","mv":"8016014.com.android.vending","isu":"CF95DC53F383F9A836FD749F3EF439CD","bas_off":0,"format":"320x50_mb","oar":0,"net":"wi","app_name":"1.android.com.teluguone.torilt","hl":"en","ad_pos":{"height":0,"visible":1,"y":181,"x":0,"width":900},"gnt":1,"u_h":682,"pt":1,"carrier":"40407","bas_on":0,"ptime":0,"u_audio":1});</script></head><body></body></html>
05-17 11:13:22.799: V/PlayerDriver(2394): CommandCompleted
05-17 11:13:22.799: V/PlayerDriver(2394): Completed command PLAYER_SET_DATA_SOURCE status=1
05-17 11:13:22.799: V/PVPlayer(2394): run_init s=0, cancelled=0
05-17 11:13:22.799: V/PlayerDriver(2394): Send player code: 6
05-17 11:13:22.799: V/PlayerDriver(2394): release string is 2.2 len 3
05-17 11:13:25.327: I/AudioHardwareALSA(2394): Output standby called!!. Turn off PCM device.
05-17 11:13:27.945: W/PowerManagerService(2487): Timer 0x7->0x3|0x1
05-17 11:13:27.945: I/PowerManagerService(2487): Ulight 7->3|0
05-17 11:13:32.051: W/ActivityManager(2487): Launch timeout has expired, giving up wake lock!
05-17 11:13:32.104: W/ActivityManager(2487): Activity idle timeout for HistoryRecord{4836f658 com.teluguone.torilt/.TORiLTActivity}
05-17 11:13:37.151: W/ActivityManager(2487): Activity destroy timeout