Android 准备音乐时显示progressbar并增加音乐音量
我正在开发一个广播应用程序,我在其中编写了Android 准备音乐时显示progressbar并增加音乐音量,android,service,media-player,Android,Service,Media Player,我正在开发一个广播应用程序,我在其中编写了MediaPlayer类内部服务,在按钮上单击启动和关闭服务以启动和停止MediaPlayer。但是在这个项目中,我面临两个问题 1.我想在准备音乐时显示进度。虽然我在服务内部编写了代码,因此无法显示进度栏 2.当我们调高音量时,铃声的音量会增加,而不是音乐音量 我花了很多时间,但没有成功。请告诉我如何解决这个问题。您的宝贵建议将不胜感激 PlayerService.java public class PlayerService extends Serv
MediaPlayer
类内部服务,在按钮上单击启动和关闭服务以启动和停止MediaPlayer
。但是在这个项目中,我面临两个问题
1.我想在准备音乐时显示进度。虽然我在服务内部编写了代码,因此无法显示进度栏
2.当我们调高音量时,铃声的音量会增加,而不是音乐音量
我花了很多时间,但没有成功。请告诉我如何解决这个问题。您的宝贵建议将不胜感激
PlayerService.java
public class PlayerService extends Service implements OnPreparedListener {
private MediaPlayer mPlayer;
public PlayerService() {
// TODO Auto-generated constructor stub
super();
}
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
try {
mPlayer = new MediaPlayer();
mPlayer.setDataSource(Live.mUrl);
mPlayer.prepare();
mPlayer.setOnPreparedListener(this);
// mVisualizerView = (VisualizerView)
// findViewById(R.id.visualizerView);
// mVisualizerView.link(mPlayer);
// Start with just line renderer
// addLineRenderer();
} catch (Exception e) {
// TODO: handle exception
}
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
mPlayer.start();
return 0;
}
@Override
public void onDestroy() {
mPlayer.release();
super.onDestroy();
}
@Override
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
}
}
签出<代码>注册表DiaButtoneVentReceiver(组件名称broadcastReceiver)代码> 定义一个BroadcastReceiver,用于处理操作\媒体\按钮。接收到的意图包括一个额外字段,extra_KEY_EVENT,其中包含导致广播的关键事件。您可以使用此按键事件获取按下的按键 这只是一个示例代码。可能存在语法错误
// in onCreate of activity
registerMediaButtonEventReceiver(mediaReceiver );
// later somewhere in activity.
MediaButton_Receiver mediaReceiver = new MediaButton_Receiver();
class MediaButton_Receiver implements BroadcastReceiver {
void onReceive(Intent intent) {
KeyEvent ke = (KeyEvent)intent.getExtra(Intent.EXTRA_KEY_EVENT);
if (ke .getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) {
//Decrease your volume
}
// Similarly other key codes .......
}
}
在onPause()或onStop()中注销接收器。请发布您尝试过的内容以及遇到的问题。@MattClark我已经发布了代码,并在1和2中发布了问题