android控制手机系统声音
2012-03-18 16:10
429 查看
手机声音包含系统声音和媒体声音。在程序中,往往需要对手机系统声音进行控制,可以通过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() { @Override public void onClick(View v) { mPlayer.start(); } }); } private void muteButtonListener(){ muteButton.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { audioManager.setStreamMute(AudioManager.STREAM_MUSIC, !isChecked); } }); } private void audioIncButtonListener(){ audiaoIncButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE , AudioManager.FLAG_SHOW_UI); } }); } private void audioDecButtonListener(){ audioDecButton.setOnClickListener(new OnClickListener() { @Override public 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); } }
相关文章推荐
- android控制手机系统声音
- Android通过摇晃手机的频率来控制声音的频率
- Android通过摇晃手机的频率来控制声音的频率
- Android 获取手机系统的声音设置管理通知提醒的声音
- Android通过摇晃手机的频率来控制声音的频率
- Android 获取手机系统的声音设置管理通知提醒的声音
- 基于android手机控制 温控器系统
- android 控制手机音量的大小 切换声音的模式
- Android手机文件系统结构
- 【Android车载系统 News | Tech 3】News 从手机征战到汽车 Android Auto对比CarPlay 2014-12-29
- 扫描二维码自动识别手机系统(Android/IOS)
- android系统的手机文件夹目录详解
- Android获取手机型号,系统版本,App版本号等信息
- Android跳转到手机系统设置页面方法
- Android播放系统声音源码
- Android手机控制电脑撸出HelloWorld
- Android动态控制手机屏幕方向
- android 系统声音设置调用播放
- android手机系统 6.0后的权限申请问题
- HTML应用推广-自动识别手机系统(Android/iOS)