Android-오디오 관리자
벨소리 볼륨과 벨소리 프로필을 쉽게 제어 할 수 있습니다. 즉, Android에서 (무음, 진동, 시끄러움 등). Android는 이러한 컨트롤에 대한 액세스를 제공하는 AudioManager 클래스를 제공합니다.
AndroidManager 클래스를 사용하려면 먼저 다음을 호출하여 AudioManager 클래스의 객체를 만들어야합니다. getSystemService()방법. 구문은 다음과 같습니다.
private AudioManager myAudioManager;
myAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
AudioManager 클래스의 개체를 인스턴스화하면 다음을 사용할 수 있습니다. setRingerMode장치의 오디오 또는 벨소리 프로필을 설정하는 방법. 구문은 다음과 같습니다.
myAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
setRingerMode 메소드는 정수를 매개 변수로 사용합니다. 각 모드에 대해 서로 다른 모드를 구분하는 정수가 할당됩니다. 가능한 모드는 다음과 같습니다.
Sr. 아니요 | 모드 및 설명 |
---|---|
1 | RINGER_MODE_VIBRATE 이 모드는 장치를 진동 모드로 설정합니다. |
2 | RINGER_MODE_NORMAL 이 모드는 장치를 일반 (크게) 모드로 설정합니다. |
삼 | RINGER_MODE_SILENT 이 모드는 장치를 무음 모드로 설정합니다. |
모드를 설정하면 다음을 호출 할 수 있습니다. getRingerMode()시스템의 설정 상태를 가져 오는 메소드. 구문은 다음과 같습니다.
int mod = myAudioManager.getRingerMode();
getRingerMode 메서드 외에도 AudioManager 클래스에서 볼륨 및 기타 모드를 제어하는 데 사용할 수있는 다른 메서드가 있습니다. 아래에 나열되어 있습니다.
Sr. 아니요 | 방법 및 설명 |
---|---|
1 | adjustVolume(int direction, int flags) 이 방법은 가장 관련성이 높은 스트림의 볼륨을 조정합니다. |
2 | getMode() 이 메서드는 현재 오디오 모드를 반환합니다. |
삼 | getStreamMaxVolume(int streamType) 이 메서드는 특정 스트림에 대한 최대 볼륨 인덱스를 반환합니다. |
4 | getStreamVolume(int streamType) 이 메서드는 특정 스트림에 대한 현재 볼륨 인덱스를 반환합니다. |
5 | isMusicActive() 이 방법은 음악이 활성화되어 있는지 확인합니다. |
6 | startBluetoothSco() 이 방법 블루투스 SCO 오디오 연결 시작 |
7 | stopBluetoothSco() 이 방법은 블루투스 SCO 오디오 연결을 중지합니다. |
예
아래 예제는 AudioManager 클래스의 사용을 보여줍니다. 장치에 다른 벨소리 모드를 설정할 수있는 응용 프로그램을 만듭니다.
이 예제를 실험하려면 실제 기기에서 실행해야합니다.
단계 | 기술 |
---|---|
1 | Android 스튜디오 IDE를 사용하여 com.example.sairamkrishna.myapplication 패키지 아래에 Android 애플리케이션을 만듭니다. |
2 | src / MainActivity.java 파일을 수정하여 AudioManager 코드 추가 |
삼 | 레이아웃 XML 파일 res / layout / activity_main.xml 수정 필요한 경우 GUI 구성 요소를 추가하십시오. |
4 | res / values / string.xml 파일을 수정하고 필요한 문자열 구성 요소를 추가합니다. |
5 | AndroidManifest.xml을 수정하여 필요한 권한을 추가하십시오. |
6 | 애플리케이션을 실행하고 실행중인 Android 기기를 선택하고 여기에 애플리케이션을 설치하고 결과를 확인합니다. |
내용은 다음과 같습니다. src/MainActivity.java
package com.example.sairamkrishna.myapplication;
import android.app.Activity;
import android.content.Context;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
Button mode,ring,vibrate,silent;
private AudioManager myAudioManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vibrate=(Button)findViewById(R.id.button3);
ring=(Button)findViewById(R.id.button2);
mode=(Button)findViewById(R.id.button);
silent=(Button)findViewById(R.id.button4);
myAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
vibrate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
Toast.makeText(MainActivity.this,"Now in Vibrate Mode",
Toast.LENGTH_LONG).show();
}
});
ring.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
Toast.makeText(MainActivity.this,"Now in Ringing Mode",
Toast.LENGTH_LONG).show();
}
});
silent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
Toast.makeText(MainActivity.this,"Now in silent Mode",
Toast.LENGTH_LONG).show();
}
});
mode.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int mod=myAudioManager.getRingerMode();
if(mod==AudioManager.RINGER_MODE_VIBRATE){
Toast.makeText(MainActivity.this,"Now in Vibrate Mode",
Toast.LENGTH_LONG).show();
} else if(mod==AudioManager.RINGER_MODE_NORMAL){
Toast.makeText(MainActivity.this,"Now in Ringing Mode",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(MainActivity.this,"Now in Vibrate Mode",
Toast.LENGTH_LONG).show();
}
}
});
}
}
내용은 다음과 같습니다. activity_main.xml
여기서 abc는 tutorialspoint의 로고를 나타냅니다.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Android Audio Recording"
android:id="@+id/textView"
android:textSize="30dp"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tutorialspoint"
android:id="@+id/textView2"
android:textColor="#ff3eff0f"
android:textSize="35dp"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/abc"
android:layout_below="@+id/textView2"
android:layout_alignLeft="@+id/textView2"
android:layout_alignStart="@+id/textView2"
android:layout_alignRight="@+id/textView2"
android:layout_alignEnd="@+id/textView2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Mode"
android:id="@+id/button"
android:layout_below="@+id/imageView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="59dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ring"
android:id="@+id/button2"
android:layout_alignTop="@+id/button"
android:layout_centerHorizontal="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="vibrate"
android:id="@+id/button3"
android:layout_alignTop="@+id/button2"
android:layout_alignRight="@+id/textView"
android:layout_alignEnd="@+id/textView" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Silent"
android:id="@+id/button4"
android:layout_below="@+id/button2"
android:layout_alignLeft="@+id/button2"
android:layout_alignStart="@+id/button2" />
</RelativeLayout>
내용은 다음과 같습니다. Strings.xml
<resources>
<string name="app_name">My Application</string>
</resources>
내용은 다음과 같습니다. AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.sairamkrishna.myapplication" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.sairamkrishna.myapplication"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
애플리케이션을 실행 해 보겠습니다. 실제 Android 모바일 장치를 컴퓨터에 연결했다고 가정합니다. Android Studio에서 앱을 실행하려면 프로젝트의 활동 파일 중 하나를 열고
이제 무음 버튼을 선택하면 알림 표시 줄에 무음 아이콘이 표시됩니다.
이제 벨소리 버튼을 선택한 다음 현재 모드 버튼을 눌러 상태가 설정되었는지 확인합니다.
이제 진동 버튼을 누른 후 현재 모드 버튼을 눌러 설정 여부를 확인하면 다음과 같은 화면이 표시됩니다.