Вы можете легко контролировать громкость звонка и профиль звонка, т. Е. (Тихо, вибрировать, громко и т. Д.) В 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.No | Режим и описание |
---|---|
1 |
RINGER_MODE_VIBRATE Этот режим устанавливает устройство в режим вибрации. |
2 |
RINGER_MODE_NORMAL Этот режим устанавливает устройство в нормальный (громкий) режим. |
3 |
RINGER_MODE_SILENT Этот режим устанавливает устройство в беззвучный режим. |
RINGER_MODE_VIBRATE
Этот режим устанавливает устройство в режим вибрации.
RINGER_MODE_NORMAL
Этот режим устанавливает устройство в нормальный (громкий) режим.
RINGER_MODE_SILENT
Этот режим устанавливает устройство в беззвучный режим.
Как только вы установили режим, вы можете вызвать метод getRingerMode (), чтобы получить состояние системы. Его синтаксис приведен ниже.
int mod = myAudioManager.getRingerMode();
Помимо метода getRingerMode, в классе AudioManager доступны другие методы для управления громкостью и другими режимами. Они перечислены ниже.
Sr.No | Метод и описание |
---|---|
1 |
AdjustVolume (Int направление, INT флаги) Этот метод регулирует громкость наиболее актуального потока |
2 |
getMode () Этот метод возвращает текущий аудио режим |
3 |
getStreamMaxVolume (int streamType) Этот метод возвращает индекс максимальной громкости для определенного потока |
4 |
getStreamVolume (int streamType) Этот метод возвращает текущий индекс объема для определенного потока |
5 |
isMusicActive () Этот метод проверяет, активна ли какая-либо музыка. |
6 |
startBluetoothSco () Этот метод запуска аудио подключения Bluetooth SCO |
7 |
stopBluetoothSco () Этот метод останавливает аудио соединение Bluetooth SCO. |
AdjustVolume (Int направление, INT флаги)
Этот метод регулирует громкость наиболее актуального потока
getMode ()
Этот метод возвращает текущий аудио режим
getStreamMaxVolume (int streamType)
Этот метод возвращает индекс максимальной громкости для определенного потока
getStreamVolume (int streamType)
Этот метод возвращает текущий индекс объема для определенного потока
isMusicActive ()
Этот метод проверяет, активна ли какая-либо музыка.
startBluetoothSco ()
Этот метод запуска аудио подключения Bluetooth SCO
stopBluetoothSco ()
Этот метод останавливает аудио соединение Bluetooth SCO.
пример
Приведенный ниже пример демонстрирует использование класса AudioManager. Он создает приложение, которое позволяет вам установить различные режимы звонка для вашего устройства.
Чтобы поэкспериментировать с этим примером, вам нужно запустить его на реальном устройстве.
меры | Описание |
---|---|
1 | Вы будете использовать Android Studio IDE для создания приложения Android в пакете com.example.sairamkrishna.myapplication. |
2 | Измените файл src / MainActivity.java, чтобы добавить код AudioManager. |
3 | Измените 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 обозначает логотип пункта обучения
<?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, откройте один из файлов деятельности вашего проекта и нажмите «Выполнить». значок из панели инструментов. Студия Android будет отображать изображения
Теперь выберите тихую кнопку, вы бы получили значок молчания на панели уведомлений
Теперь просто выберите кнопку звонка, а затем нажмите кнопку текущего режима, чтобы увидеть, установлен ли ее статус.
Теперь нажмите кнопку «Вибрация», а затем нажмите кнопку текущего режима, чтобы увидеть, установлена она или нет. Появится следующий экран.