我正在尝试开发一个简单的媒体播放器来播放Android 2.3.3的sdcard / music目录的mp3.问题是当我按下电源按钮或设备进入睡眠状态时,音乐会停止.通过谷歌搜索和搜索stackoverflow,我发现我需要使用唤醒锁定选项,但无论我做什么,当设备进入睡眠状态时音乐停止(在模拟器上按F7也会停止音乐).因为我已经打了很长时间,所以我想我会寻求帮助.我真诚地感谢任何意见.谢谢.这是我的代码:
fileinputStream fis = new fileinputStream(songList.get(0));fileDescriptor fd = fis.getFD();if (mediaPlayer != null) { if (mediaPlayer.isPlaying()) { mediaPlayer.release(); mediaPlayer = null; }}mediaPlayer = new MediaPlayer();mediaPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);mediaPlayer.setDataSource(fd);mediaPlayer.prepare();playPausebutton.setimageResource(androID.R.drawable.ic_media_pause);mediaPlayer.seekTo(songposition);mediaPlayer.start();appMsg.setText(songList.get(0));
解决方法:
我认为你应该使用服务在后台运行媒体
因此,您创建一个服务并将您的媒体代码放入其中并将其附加到开始和停止按钮可能是这样的:
public class MediaPlayerService extends Service { MediaPlayer myMediaPlayer; @OverrIDe public IBinder onBind(Intent intent) { // Todo auto-generated method stub return null; } @OverrIDe public voID onCreate() { fileinputStream fis = new fileinputStream(songList.get(0)); fileDescriptor fd = fis.getFD(); if (mediaPlayer != null) { if (mediaPlayer.isPlaying()) { mediaPlayer.release(); mediaPlayer = null; } } mediaPlayer = new MediaPlayer(); mediaPlayer.setDataSource(fd); mediaPlayer.prepare(); playPausebutton.setimageResource(androID.R.drawable.ic_media_pause); mediaPlayer.seekTo(songposition); appMsg.setText(songList.get(0)); } @OverrIDe public voID onStart(Intent intent, int startID) { myMediaPlayer.start(); } @OverrIDe public voID onDestroy() { myMediaPlayer.stop(); }}
之后,当使用methodestartService按下开始按钮并在Activity类中使用methode stopService停止它时启动该服务
总结以上是内存溢出为你收集整理的在Android 2.3.3中以睡眠/待机模式播放音乐全部内容,希望文章能够帮你解决在Android 2.3.3中以睡眠/待机模式播放音乐所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)