안드로이드에서 현재 볼륨을 가져오고 볼륨을 설정하는 방법은 다음과 같습니다. 이 작업을 수행하기 위해 AudioManager
클래스를 사용합니다. 아래는 간단한 예제 코드입니다.
현재 볼륨 가져오기
import android.content.Context;
import android.media.AudioManager;
public class VolumeControl {
private AudioManager audioManager;
public VolumeControl(Context context) {
audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
}
public int getCurrentVolume() {
int currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
return currentVolume;
}
}
볼륨 설정
import android.content.Context;
import android.media.AudioManager;
public class VolumeControl {
private AudioManager audioManager;
public VolumeControl(Context context) {
audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
}
public void setVolume(int volume) {
int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
if (volume >= 0 && volume <= maxVolume) {
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, AudioManager.FLAG_SHOW_UI);
} else {
throw new IllegalArgumentException("Volume must be between 0 and " + maxVolume);
}
}
}
사용 예제
이제 이 클래스를 사용하여 볼륨을 가져오고 설정할 수 있습니다.
import android.os.Bundle;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private VolumeControl volumeControl;
private TextView volumeText;
private SeekBar volumeSeekBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
volumeControl = new VolumeControl(this);
volumeText = findViewById(R.id.volumeText);
volumeSeekBar = findViewById(R.id.volumeSeekBar);
Button setVolumeButton = findViewById(R.id.setVolumeButton);
// 현재 볼륨 표시
int currentVolume = volumeControl.getCurrentVolume();
volumeText.setText("Current Volume: " + currentVolume);
volumeSeekBar.setProgress(currentVolume);
// 볼륨 설정 버튼 클릭 리스너
setVolumeButton.setOnClickListener(v -> {
int desiredVolume = volumeSeekBar.getProgress();
volumeControl.setVolume(desiredVolume);
volumeText.setText("Current Volume: " + desiredVolume);
});
}
}
activity_main.xml 예제
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/volumeText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Current Volume:"
android:textSize="18sp"
android:layout_marginBottom="16dp"/>
<SeekBar
android:id="@+id/volumeSeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="15"
android:layout_marginBottom="16dp"/>
<Button
android:id="@+id/setVolumeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Set Volume"/>
</LinearLayout>
이 예제에서는 AudioManager
를 사용하여 현재 볼륨을 가져오고 설정하는 방법을 보여줍니다. SeekBar
를 사용하여 원하는 볼륨 수준을 선택하고 버튼을 클릭하여 볼륨을 설정할 수 있습니다.