本文主要是介绍AudioManager播放音乐,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
AudioManager控制手机音频
主要是:声音类型,音量大小或者静音
AudioManager的常用方法:
adjustStreamVolume(int streamType,int direction,int flags)调整手机指定类型声音
第一个参数: streamType:声音类型
AudioManager.STREAM_ALARM 手机闹铃的声音
AudioManager.STREAM_MUSIC 手机音乐的声音
AudioManager.STREAM_NOTIFICATION 系统提示的通知
AudioManager.STREAM_RING 电话铃声的声音
AudioManager.STREAM_SYSTEM 手机系统的声音
AudioManager.STREAM_VOICE_CALL 语音电话的声音
AudioManager.STREAM_DTMF DTMF音调的声音
第二个参数:direction声音的增大,减少
AudioManager.ADJUST_RAISE
AudioManager.ADJUST_LOWER
第三个参数:flags 调整声音时标志,如指定AudioManager.FLAG_SHOW_UI,是调整声音时显示音量进度条
setMicrophoneMute(boolean on);设置麦克风静音
setSpeakerphoneOn(boolean on):设置是否打开扩音器
setMode(int mode);设置声音模式,NORMAL,RINGTONE,IN_CALL
setRingerMode(int ringermode);设置手机电话铃声的模式,
RINGER_MODE_NORMAL;正常的手机铃声
RINGER_MODE_SILENT;手机铃声静音
RINGER_MODE_VIBRATE:手机振动
setStreamMute(int streamType,boolean state);设置指定类型的声音的静音
setStreamVolume(int streamtype.int index,int flags);设置指定类型的的音量值
本程序中提供一个按钮用于播放音乐,系统使用MediaPlayer播放音乐,另外两个按钮调整音量,并使用一个ToggleButton来控制是否静音
MainActivity.java
package com.hust.audiomanager;import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ToggleButton;
/*主要是:声音类型,音量大小或者静音* AudioManager的常用方法:* adjustStreamVolume(int streamType,int direction,int flags)调整手机指定类型声音* 第一个参数: streamType:声音类型* AudioManager.STREAM_ALARM 手机闹铃的声音* AudioManager.STREAM_MUSIC 手机音乐的声音* AudioManager.STREAM_NOTIFICATION 系统提示的通知* AudioManager.STREAM_RING 电话铃声的声音* AudioManager.STREAM_SYSTEM 手机系统的声音 * AudioManager.STREAM_VOICE_CALL 语音电话的声音* AudioManager.STREAM_DTMF DTMF音调的声音* * 第二个参数:direction声音的增大,减少* AudioManager.ADJUST_RAISE* AudioManager.ADJUST_LOWER* 第三个参数:flags 调整声音时标志,如指定AudioManager.FLAG_SHOW_UI,是调整声音时显示音量进度条* * setMicrophoneMute(boolean on);设置麦克风静音* setSpeakerphoneOn(boolean on):设置是否打开扩音器* setMode(int mode);设置声音模式,NORMAL,RINGTONE,IN_CALL* setRingerMode(int ringermode);设置手机电话铃声的模式,* RINGER_MODE_NORMAL;正常的手机铃声* RINGER_MODE_SILENT;手机铃声静音* RINGER_MODE_VIBRATE:手机振动* * setStreamMute(int streamType,boolean state);设置指定类型的声音的静音* setStreamVolume(int streamtype.int index,int flags);设置指定类型的的音量值* * * */
public class MainActivity extends Activity {Button play,up,down;ToggleButton toggle;AudioManager audiomanager;//音频管理器@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获取音频管理器服务audiomanager=(AudioManager) getSystemService(Context.AUDIO_SERVICE);play=(Button) findViewById(R.id.button1);up=(Button) findViewById(R.id.button2);down=(Button) findViewById(R.id.button3);toggle=(ToggleButton) findViewById(R.id.toggleButton1);play.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub//用MediaPlayer类播放音频文件MediaPlayer media=MediaPlayer.create(MainActivity.this, R.raw.love);media.setLooping(true);media.start();//开始播放}});up.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// 声音类型是音乐,音量+,显示图形音量audiomanager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);}});down.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubaudiomanager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);}});toggle.setOnCheckedChangeListener(new OnCheckedChangeListener(){@Overridepublic void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {// TODO Auto-generated method stubaudiomanager.setStreamMute(AudioManager.STREAM_MUSIC, isChecked);}});}@Overridepublic 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;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}
}
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"><Buttonandroid:id="@+id/button1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Play_Music" /><Buttonandroid:id="@+id/button2"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="Volume+" /><Buttonandroid:id="@+id/button3"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="Volume-" /><ToggleButtonandroid:id="@+id/toggleButton1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="ToggleButton"android:textOff="关闭静音"android:textOn="开启静音" /></LinearLayout>
这篇关于AudioManager播放音乐的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!