📜  Android-音频管理器

📅  最后修改于: 2021-01-05 05:07:31             🧑  作者: Mango


您可以在Android中轻松控制铃声的音量和铃声配置文件,例如:(静音,振动,响亮等)。 Android提供了AudioManager类,该类提供对这些控件的访问。

为了使用AndroidManager类,您必须首先通过调用getSystemService()方法创建AudioManager类的对象。其语法如下。

private AudioManager myAudioManager;
myAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);  

实例化AudioManager类的对象后,就可以使用setRingerMode方法设置设备的音频或铃声配置文件。其语法如下。

myAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);

setRingerMode方法采用整数作为参数。对于每种模式,分配一个整数,以区分不同的模式。可能的模式是。

Sr.No Mode & Description
1

RINGER_MODE_VIBRATE

This Mode sets the device at vibrate mode.

2

RINGER_MODE_NORMAL

This Mode sets the device at normal(loud) mode.

3

RINGER_MODE_SILENT

This Mode sets the device at silent mode.

设置模式后,可以调用getRingerMode()方法来获取系统的设置状态。其语法如下。

int mod = myAudioManager.getRingerMode();

除了getRingerMode方法外,AudioManager类中还有其他方法可用于控制音量和其他模式。它们在下面列出。

Sr.No Method & description
1

adjustVolume(int direction, int flags)

This method adjusts the volume of the most relevant stream

2

getMode()

This method returns the current audio mode

3

getStreamMaxVolume(int streamType)

This method returns the maximum volume index for a particular stream

4

getStreamVolume(int streamType)

This method returns the current volume index for a particular stream

5

isMusicActive()

This method checks whether any music is active.

6

startBluetoothSco()

This method Start bluetooth SCO audio connection

7

stopBluetoothSco()

This method stop bluetooth SCO audio connection.

下面的示例演示AudioManager类的用法。它创建了一个应用程序,可让您为设备设置不同的铃声模式。

要尝试使用此示例,您需要在实际设备上运行它。

Steps Description
1 You will use Android studio IDE to create an Android application under a package com.example.sairamkrishna.myapplication.
2 Modify src/MainActivity.java file to add AudioManager code
3 Modify layout XML file res/layout/activity_main.xml add any GUI component if required.
4 Modify res/values/string.xml file and add necessary string components.
5 Modify AndroidManifest.xml to add necessary permissions.
6 Run the application and choose a running android device and install the application on it and verify the results.

这是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的徽标




   
      
   
      
   
      
   
      
   
      
   
      
        

这是Strings.xml的内容


   My Application

这是AndroidManifest.xml的内容




   
      
      
      
         
            
            
         
      
      
      
   

让我们尝试运行您的应用程序。我假设您已将实际的Android Mobile设备与计算机连接。要从Android Studio运行该应用,请打开您项目的活动文件之一,然后点击运行Eclipse运行图标工具栏中的图标。 Android Studio将显示图片

现在选择静音按钮,您将在通知栏获得静音图标

Anroid捕捉教程

现在只需选择环形按钮,然后按当前模式按钮即可查看其状态是否已设置。

Anroid捕捉教程

现在按振动按钮,然后按当前模式按钮以查看是否已设置,它将显示以下屏幕。

Anroid捕捉教程