android控制手机系统声音

来源:互联网 发布:即时通讯软件 开源 编辑:程序博客网 时间:2024/06/11 19:56

     手机声音包含系统声音和媒体声音。在程序中,往往需要对手机系统声音进行控制,可以通过AudioManager类达到此效果。虽然是对系统声音进行控制,但是不需要注册任何系统权限。

package com.demo.setsystemaudio;import android.app.Activity;import android.content.Context;import android.media.AudioManager;import android.media.MediaPlayer;import android.os.Bundle;import android.view.KeyEvent;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;/** * 在第三方应用程序中,可以控制手机系统声音,系统声音包括:音乐,铃声,闹铃声等。 * 本demo主要是控制系统音乐声音,包含系统静音,系统音量加和系统音量减。 * @author Jacky.zhu * */public class SetSystemAudioActivity extends Activity {private Button playVideoButton;  // 播放视频按钮private ToggleButton muteButton;  // 系统静音开关按钮private Button audiaoIncButton;  // 系统音量加按钮private Button audioDecButton;   // 系统音量减按钮private AudioManager audioManager;  // 系统声音管理类private MediaPlayer mPlayer;  // 媒体播放器    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                // 实例化控件        playVideoButton = (Button) findViewById(R.id.play_video);        muteButton = (ToggleButton) findViewById(R.id.audio_mute);        audiaoIncButton  = (Button) findViewById(R.id.audio_inc);        audioDecButton = (Button) findViewById(R.id.audio_dec);                // 实例化系统声音管理类        audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);                // 播放视频        playVideoButtonListener();                // 系统静音按钮监听器        muteButtonListener();                // 系统声音加监听器        audioIncButtonListener();                // 系统声音减监听器        audioDecButtonListener();    }        private void playVideoButtonListener(){    mPlayer = MediaPlayer.create(this, R.raw.mars);    mPlayer.setLooping(true);    playVideoButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {    mPlayer.start();}});    }        private void muteButtonListener(){    muteButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {audioManager.setStreamMute(AudioManager.STREAM_MUSIC, !isChecked); }});    }        private void audioIncButtonListener(){    audiaoIncButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE , AudioManager.FLAG_SHOW_UI);}});    }        private void audioDecButtonListener(){    audioDecButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER , AudioManager.FLAG_SHOW_UI);}});    }        @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {    if( keyCode == KeyEvent.KEYCODE_BACK ){    mPlayer.stop();    mPlayer = null;    finish();    }    return super.onKeyDown(keyCode, event);    }    }


原创粉丝点击