AudioManager播放音乐
AudioManager控制手機(jī)音頻
主要是:聲音類型,音量大小或者靜音
AudioManager的常用方法:
?adjustStreamVolume(int streamType,int direction,int flags)調(diào)整手機(jī)指定類型聲音
?第一個(gè)參數(shù): streamType:聲音類型
?AudioManager.STREAM_ALARM 手機(jī)鬧鈴的聲音
?AudioManager.STREAM_MUSIC 手機(jī)音樂(lè)的聲音
?AudioManager.STREAM_NOTIFICATION 系統(tǒng)提示的通知
?AudioManager.STREAM_RING 電話鈴聲的聲音
?AudioManager.STREAM_SYSTEM 手機(jī)系統(tǒng)的聲音
?AudioManager.STREAM_VOICE_CALL 語(yǔ)音電話的聲音
?AudioManager.STREAM_DTMF DTMF音調(diào)的聲音
?第二個(gè)參數(shù):direction聲音的增大,減少
?AudioManager.ADJUST_RAISE
?AudioManager.ADJUST_LOWER
?第三個(gè)參數(shù):flags 調(diào)整聲音時(shí)標(biāo)志,如指定AudioManager.FLAG_SHOW_UI,是調(diào)整聲音時(shí)顯示音量進(jìn)度條
?setMicrophoneMute(boolean on);設(shè)置麥克風(fēng)靜音
?setSpeakerphoneOn(boolean on):設(shè)置是否打開(kāi)擴(kuò)音器
?setMode(int mode);設(shè)置聲音模式,NORMAL,RINGTONE,IN_CALL
?setRingerMode(int ringermode);設(shè)置手機(jī)電話鈴聲的模式,
?RINGER_MODE_NORMAL;正常的手機(jī)鈴聲
?RINGER_MODE_SILENT;手機(jī)鈴聲靜音
?RINGER_MODE_VIBRATE:手機(jī)振動(dòng)
?setStreamMute(int streamType,boolean state);設(shè)置指定類型的聲音的靜音
?setStreamVolume(int streamtype.int index,int flags);設(shè)置指定類型的的音量值
本程序中提供一個(gè)按鈕用于播放音樂(lè),系統(tǒng)使用MediaPlayer播放音樂(lè),另外兩個(gè)按鈕調(diào)整音量,并使用一個(gè)ToggleButton來(lái)控制是否靜音
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)調(diào)整手機(jī)指定類型聲音* 第一個(gè)參數(shù): streamType:聲音類型* AudioManager.STREAM_ALARM 手機(jī)鬧鈴的聲音* AudioManager.STREAM_MUSIC 手機(jī)音樂(lè)的聲音* AudioManager.STREAM_NOTIFICATION 系統(tǒng)提示的通知* AudioManager.STREAM_RING 電話鈴聲的聲音* AudioManager.STREAM_SYSTEM 手機(jī)系統(tǒng)的聲音 * AudioManager.STREAM_VOICE_CALL 語(yǔ)音電話的聲音* AudioManager.STREAM_DTMF DTMF音調(diào)的聲音* * 第二個(gè)參數(shù):direction聲音的增大,減少* AudioManager.ADJUST_RAISE* AudioManager.ADJUST_LOWER* 第三個(gè)參數(shù):flags 調(diào)整聲音時(shí)標(biāo)志,如指定AudioManager.FLAG_SHOW_UI,是調(diào)整聲音時(shí)顯示音量進(jìn)度條* * setMicrophoneMute(boolean on);設(shè)置麥克風(fēng)靜音* setSpeakerphoneOn(boolean on):設(shè)置是否打開(kāi)擴(kuò)音器* setMode(int mode);設(shè)置聲音模式,NORMAL,RINGTONE,IN_CALL* setRingerMode(int ringermode);設(shè)置手機(jī)電話鈴聲的模式,* RINGER_MODE_NORMAL;正常的手機(jī)鈴聲* RINGER_MODE_SILENT;手機(jī)鈴聲靜音* RINGER_MODE_VIBRATE:手機(jī)振動(dòng)* * setStreamMute(int streamType,boolean state);設(shè)置指定類型的聲音的靜音* setStreamVolume(int streamtype.int index,int flags);設(shè)置指定類型的的音量值* * * */ 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);//獲取音頻管理器服務(wù)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();//開(kāi)始播放}});up.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// 聲音類型是音樂(lè),音量+,顯示圖形音量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="關(guān)閉靜音"android:textOn="開(kāi)啟靜音" /></LinearLayout>
總結(jié)
以上是生活随笔為你收集整理的AudioManager播放音乐的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。