我的目标是通过背景音乐的搜索栏管理音量。我通过服务创建了背景音乐。我在“服务”类别中有媒体播放器:
public class ModernService extends Service {
private MediaPlayer modernsong;
private SeekBar volumeSeekBar;
AudioManager am;
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
public ModernService() {
super();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
modernsong =MediaPlayer.create(this,R.raw.modern);
modernsong.setLooping(true);
modernsong.start();
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
modernsong.stop();
}
}
问题是如何从布局中的搜索栏获得浮动。在此先感谢
首先初始化volumeSeekbar
并设置最大值。
volumeSeekBar = findViewById(R.id.seekBarId);volumeSeekBar.setMax(100);
然后您需要在[veiw]上添加OnSeekBarChangeListener
。>>
volumeSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
//any ui changes you wanted to do on user action on seekbar
}
});
volumeSeekBar.getProgress();
的形式获取值>在服务等级onStartCommand
中,可以直接访问意图。因此,通过意图启动服务时,您可以传递seekbar值。
Intent mIntent = new Intent(this, Service.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, seekbarValue);