不知道如何在服务 class 中从布局上的搜索栏中获取浮动。 Android 工作室
No idea how being on service class to get float from seekbar on layoutt. Android Studio
我的目标是通过背景音乐的搜索栏来管理音量。
我通过服务创建背景音乐。
我在服务 class:
中有媒体播放器
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);
然后你需要在视图中添加OnSeekBarChangeListener
。
volumeSeekBar.setOnSeekBarChangeListener(新的 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();
服务中 class onStartCommand
可以直接访问意图。
因此,通过 Intent 启动服务时,您可以传递 seekbar 值。
Intent mIntent = new Intent(this, Service.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, seekbarValue);
我的目标是通过背景音乐的搜索栏来管理音量。 我通过服务创建背景音乐。 我在服务 class:
中有媒体播放器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);
然后你需要在视图中添加
OnSeekBarChangeListener
。volumeSeekBar.setOnSeekBarChangeListener(新的 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();
服务中 class
onStartCommand
可以直接访问意图。 因此,通过 Intent 启动服务时,您可以传递 seekbar 值。Intent mIntent = new Intent(this, Service.class); Bundle extras = mIntent.getExtras(); extras.putString(key, seekbarValue);