当前位置: 首页 > 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/news/324286.html

相关文章:

  • (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字段)
  • 【最新】微信小程序连接onenet——stm32+esp8266+onenet实现查看温湿度,控制单片机
  • 探索CefSharp,Cefsharp浏览器能做自动填表和模拟登录
  • 长芯微LPQ76930锂电池组保护芯片完全P2P替代BQ76930
  • 江协科技STM32学习- P20 实验-TIM编码器接口测速
  • windows安装Redis以后配置远程访问
  • 深度学习框架的选择:深入比较PyTorch与TensorFlow
  • Type-C接口桌面显示器的优势
  • 计算机毕业设计Python+Spark知识图谱微博舆情预测 微博推荐系统 微博可视化 微博数据分析 微博大数据 微博爬虫 Hadoop 大数据毕业设计
  • New major version of npm available! 8.3.1 -> 10.8.3 报错
  • 数组增删改查操作