系统音量变化监听

/**<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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值