📅  最后修改于: 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运行该应用,请打开您项目的活动文件之一,然后点击运行工具栏中的图标。 Android Studio将显示图片
现在选择静音按钮,您将在通知栏获得静音图标
现在只需选择环形按钮,然后按当前模式按钮即可查看其状态是否已设置。
现在按振动按钮,然后按当前模式按钮以查看是否已设置,它将显示以下屏幕。