안드로이드 장치 현재 볼륨 정보 가져오기 / 볼륨 설정하기

안드로이드에서 현재 볼륨을 가져오고 볼륨을 설정하는 방법은 다음과 같습니다. 이 작업을 수행하기 위해 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를 사용하여 원하는 볼륨 수준을 선택하고 버튼을 클릭하여 볼륨을 설정할 수 있습니다.

Leave a Comment