当前位置: 首页 > article >正文

高通Android 12 音量API设置相关代码

// 获取当前音量大小
    public static int getCurrentVolume(Context context) {
        AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        return audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);  // 使用 STREAM_MUSIC 作为示例
    }

    // 获取系统最大音量大小
    public static int getMaxVolume(Context context) {
        AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        return audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);  // 使用 STREAM_MUSIC 作为示例
    }
	//设置当前媒体音量是静音还是非静音状态
	 public int setMuteEnabled(boolean isMute) {
        AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
        audioManager.setStreamMute(AudioManager.STREAM_MUSIC, isMute);

        // Return 1 for mute and 0 for unmute
        return isMute ? 1 : 0;
    }
	//获取系统当前媒体音量是静音还是非静音状态
	public int getCurrentMuteState() {
        AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);

        // Check if the stream is muted
        boolean isMuted = audioManager.isStreamMute(AudioManager.STREAM_MUSIC);

        // Return 1 if muted, 0 if not muted
        return isMuted ? 1 : 0;
    }

 //开启静音模式
    public static void muteSystem(Context context){
        AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        if (audioManager!=null){
            audioManager.setStreamMute(AudioManager.STREAM_MUSIC,true);
        }
    }

    //关闭静音模式
    public static void unMuteSystem(Context context){
        AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        if (audioManager!=null){
            audioManager.setStreamMute(AudioManager.STREAM_MUSIC,false);
        }
    }

    //获取当前媒体音量
    public static int getCurrentVolume(Context context){
        AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        if (audioManager!=null){
            return audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
        }
        return -1;
    }

    //音量增加
    public static void volumeUp(Context context){
        AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        if (audioManager!=null){
            audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
                    AudioManager.ADJUST_RAISE,
                    AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
        }
    }

    //音量降低
    public static void volumeDown(Context context){
        AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        if (audioManager!=null){
            audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
                    AudioManager.ADJUST_LOWER,
                    AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
        }
    }

    //自动调整音量
    public static void AutoAdjustResetVolume(Context context) {
        AudioManager mManager= (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        if (mManager!= null) {
            //当前音量
            int volume = mManager.getStreamVolume(AudioManager.STREAM_MUSIC);
            try {
                Thread.sleep(200);
            } catch (Exception e) {
                e.printStackTrace();
            }
            //与最大音量比较
            if (volume != mManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)) {
                //向音量增加方向调整
                mManager.adjustStreamVolume(
                        AudioManager.STREAM_MUSIC,
                        AudioManager.ADJUST_RAISE,
                        AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
                mManager.adjustStreamVolume(
                        AudioManager.STREAM_MUSIC,
                        AudioManager.ADJUST_LOWER,
                        AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
            } else {
                mManager.adjustStreamVolume(
                        AudioManager.STREAM_MUSIC,
                        AudioManager.ADJUST_LOWER,
                        AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
                mManager.adjustStreamVolume(
                        AudioManager.STREAM_MUSIC,
                        AudioManager.ADJUST_RAISE,
                        AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
            }
        }
    }

转载请注明出处高通Android 12 音量API设置相关代码-CSDN博客,谢谢!


http://www.kler.cn/a/324286.html

相关文章:

  • 基础IO2
  • AI驱动的桌面笔记应用Reor
  • 【C++】构造函数
  • 《应用数学学报》
  • 大数据实验9:Spark安装和编程实践
  • 15分钟学 Go 第 56 天:架构设计基本原则
  • (undone) MIT6.824 Lecture1 笔记
  • OpenGL ES 绘制一个三角形(2)
  • zookeeper 服务搭建(集群)
  • 解决SpringBoot 3.3.x集成Micrometer和Prometheus,导致项目阻塞,无法启动
  • 演示:基于WPF的DrawingVisual开发的频谱图和律动图
  • Meta首款多模态Llama 3.2开源:支持图像推理,还有可在手机上运行的版本 | LeetTalk Daily...
  • Python连接Kafka收发数据等操作
  • [leetcode]53_最大子数组(序列)和
  • 2024年空间计算/XR的现状:双子座阶段的探索与展望
  • 关于电商API接口接入及其相关应用分析【主流电商API接口】
  • 音视频处理工具FFmpeg与Java结合的简单使用
  • 【计算机网络 - 基础问题】每日 3 题(二十七)
  • Stable Diffusion绘画 | Checkpoint Merger 模型融合
  • 如何区分这个ip是真实ip,不是虚假的ip
  • 论文阅读 - SWATTING Spambots: Real-time Detection of Malicious Bots on X
  • RabbitMQ的高级特性-延迟队列
  • 个人计算机与网络的安全
  • 初探shell与bash使用指南
  • spring cloud Gateway网关
  • 网络编程(12)——完善粘包处理操作(id字段)