Учебники

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.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, откройте один из файлов деятельности вашего проекта и нажмите «Выполнить». Eclipse Run Icon значок из панели инструментов. Студия Android будет отображать изображения

Теперь выберите тихую кнопку, вы бы получили значок молчания на панели уведомлений

Учебник по захвату андроида

Теперь просто выберите кнопку звонка, а затем нажмите кнопку текущего режима, чтобы увидеть, установлен ли ее статус.

Учебник по захвату андроида

Теперь нажмите кнопку «Вибрация», а затем нажмите кнопку текущего режима, чтобы увидеть, установлена ​​она или нет. Появится следующий экран.