Andriod下音频的相关操作





AudioManger对象通过getSystemService(Service.AUDIO_SERVICE)获取
AudioManger常用的几个方法void android.media.AudioManager.adjustStreamVolume(int streamType, int direction, int flags):第二个表示调整音乐的大小,第三个参数表示显示调整是的标志 AudioManager.FLAG_SHOW_UI;调整手机类型的声音;第一个参数的几个值
  STREAM_ALARM:手机闹铃的声音
  STREAM_MUSIC:手机音乐的声音
  STREAM_DTMF:DTMF音调的声音
 STREAM_RING:电话铃声的声音
 STREAM_NOTFICATION:系统提示的声音
 STREAM_SYSTEM:系统的声音
         STREAM_VOICE_CALL:语音电话声音
void android.media.AudioManager.setMicrophoneMute(boolean on)设置是否让麦克风设置静音
void android.media.AudioManager.setRingerMode(int ringerMode):设置手机电话铃声的模式;支持的几个属性值
   RINGER_MODE_NORMAL:正常的手机铃声
   RINGER_MODE_SILENT:手机铃声静音
   RING_MODE_VIBATE:手机震动
void android.media.AudioManager.setStreamMute(int streamType, boolean state)将指定的音量类型调整为静音






package com.android.xiong.audiotest;

import android.app.Activity;
import android.app.Service;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ToggleButton;

public class MainActivity extends Activity {

	private Button play, up, down;
	private ToggleButton mute;
	private AudioManager aManger;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		// 获取系统的音频服务
		aManger = (AudioManager) getSystemService(Service.AUDIO_SERVICE);
		// 获取界面的三个按钮和一恶搞ToggleButton
		play = (Button) findViewById(R.id.play);
		up = (Button) findViewById(R.id.up);
		down = (Button) findViewById(R.id.down);
		mute = (ToggleButton) findViewById(R.id.mute);
		// 绑定监听事件
		play.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// 初始化MediaPlay对象 ,准备播放音乐
				MediaPlayer mPlayer = MediaPlayer.create(MainActivity.this,
						R.raw.earth);
				// 设置循环播放
				mPlayer.setLooping(true);
				// 开始播放
				mPlayer.start();

			}
		});

		up.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// 指定调节音乐的音频,增大音量,而且显示音量的图形示意
				aManger.adjustStreamVolume(AudioManager.STREAM_MUSIC,
						AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
				
			}
		});
		down.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// 指定调节音乐的音频,增大音量,而且音量的图形示意
				aManger.adjustStreamVolume(AudioManager.STREAM_MUSIC,
						AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);

			}
		});
		mute.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				aManger.setStreamMute(AudioManager.STREAM_MUSIC, true);
				
			}
		});

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}


早起的年轻人 CSDN认证博客专家 移动开发 项目管理 Java
只要用心去做,每一件事情还是有可能成功的,当然成功是没有界限的,只不过是达到自己心里的那个目标,公众号:我的大前端生涯,一个爱喝茶的程序员,通常会搞搞SpringBoot 、Herbinate、Mybatiys、Android、iOS、Flutter、Vue、小程序等.
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页