/**<p>项目名:HFIOT_integration</p>
* <p>包名: com.nb82.bean</p>
* <p>文件名:AudioManagerBean.java</p>
* <p>版本信息: 2.1.0</p>
* <p>日期: 2015/5/26/16:48.</p>
* Copyright (c) 2015帮你公司-版权所有
*/
package com.nb82.bean;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.util.Log;
/**
* <p>名称:com.nb82.bean.AudioManagerBean</p>
* <p>描述:系统音量变化监听</p>
* <pre>
* 处理系统的音量变化的操作
* </pre>
*
* @author 鲍建明
* @version 2.1.0
* @date 2015/5/26/16:48
*/
public class AudioManager {
private android.media.AudioManager mAudioManager;
public AudioManager(Context context){
IntentFilter filter = new IntentFilter() ;
filter.addAction("android.media.VOLUME_CHANGED_ACTION") ;
VolumeReceiver vr = new VolumeReceiver();
context.registerReceiver(vr, filter);
//音量控制,初始化定义
mAudioManager = (android.media.AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
}
/**
* 显示系统声音进度条
*/
public void showVolume(){
mAudioManager.adjustStreamVolume(android.media.AudioManager.STREAM_MUSIC, android.media.AudioManager.FLAG_SHOW_UI,
android.media.AudioManager.FX_FOCUS_NAVIGATION_UP);
}
/**
* 声音变化广播器
*/
class VolumeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//如果音量发生变化则更改seekbar的位置
if(intent.getAction().equals("android.media.VOLUME_CHANGED_ACTION")){
Log.w("android.media.VOLUME_CHANGED_ACTION", "用户调节声音了...");
int currentVolume = mAudioManager.getStreamVolume(android.media.AudioManager.STREAM_MUSIC);
//TODO 根据当前音量进行其他的业务操作
}
}
}
}
转载于:https://my.oschina.net/u/1995545/blog/420204