为什么当应用程序运行背景时,卷为什么不会更改?
当应用程序打开或应用在屏幕上时,此应用程序正常工作。打开应用程序活动时,音量正在发生变化。但是,当应用程序在后台运行时,Slider不会更改卷。如果将流设置为警报/铃声,则可以正常工作。但是,当流模式为音乐时,我会面临问题。该代码还适用于Android 11或更少。但这仅面临Android 12的问题。如何在Android 12上运行该程序?
audioManager = (AudioManager) alarm_service.this.getSystemService(Context.AUDIO_SERVICE);
set_sound=customView.findViewById(R.id.sound_line);
set_sound.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, AudioManager.FLAG_SHOW_UI);
v.vibrate(20);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
seekBar.getProgressDrawable().setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);
seekBar.getThumb().setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
seekBar.getProgressDrawable().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SRC_IN);
seekBar.getThumb().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SRC_IN);
}
});
This app is working fine when the app is opened or the app is on the screen. Volume is changing when app activity is opened. But when app is running on background, volume is not changing with slider. If I set the stream to alarm/ringtone, it works fine. But I am facing problem when the stream mode is Music. This code also works on android 11 or less. But it only facing problem with android 12. How can I run the program on android 12?
audioManager = (AudioManager) alarm_service.this.getSystemService(Context.AUDIO_SERVICE);
set_sound=customView.findViewById(R.id.sound_line);
set_sound.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, AudioManager.FLAG_SHOW_UI);
v.vibrate(20);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
seekBar.getProgressDrawable().setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);
seekBar.getThumb().setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
seekBar.getProgressDrawable().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SRC_IN);
seekBar.getThumb().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SRC_IN);
}
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论