AudioManager播放音乐

来源:互联网 发布:酷家乐绘图软件 编辑:程序博客网 时间:2024/06/05 20:04

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;//音频管理器        @Override    protected 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);}                });            }    @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;    }    @Override    public 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">    <Button        android:id="@+id/button1"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="Play_Music" />    <Button        android:id="@+id/button2"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="Volume+" />    <Button        android:id="@+id/button3"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="Volume-" />    <ToggleButton        android:id="@+id/toggleButton1"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="ToggleButton"        android:textOff="关闭静音"        android:textOn="开启静音" />    </LinearLayout>




0 0