android audio不同音频流,(六)settings内音频流音量调整

(1)settings内,可设置音频流音量,如下图:

(2)settings调整音量条进度,会触发SeekBarVolumizer对象:

SeekBarVolumizer文件路径:
frameworks/base/core/java/android/preference/SeekBarVolumizer.java

SeekBarVolumizer对象,handle会接到MSG_SET_STREAM_VOLUME事件:
public boolean handleMessage(Message msg) {

switch (msg.what) {
  case MSG_SET_STREAM_VOLUME:
    if (mMuted && mLastProgress > 0) {
      mAudioManager.adjustStreamVolume(mStreamType, AudioManager.ADJUST_UNMUTE, 0);
    } else if (!mMuted && mLastProgress == 0) {
      mAudioManager.adjustStreamVolume(mStreamType, AudioManager.ADJUST_MUTE, 0);
    }
    mAudioManager.setStreamVolume(mStreamType, mLastProgress,AudioManager.FLAG_SHOW_UI_WARNINGS);
    break;
    ...
  }

return true;
}

(3)调用AudioManager对象,执行对应流音量大小调整:

AudioManager文件路径:
frameworks/base/media/java/android/media/AudioManager.java

AudioManager对象执行,音量调整函数:
public void setStreamVolume(int streamType, int index, int flags) {
  final IAudioService service = getService();
  try {
      service.setStreamVolume(streamType, index, flags, getContext().getOpPackageName());
  } catch (RemoteException e) {
      throw e.rethrowFromSystemServer();
 }
}


在设置APK内,触发不同音量进度条,会拉起setStreamVolume()函数,完成对应音频流音量大小调整。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/48162.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL进阶之路 | 高级篇】事务的ACID特性

1. 数据库事务概述 事务是数据库区别于文件系统的重要特性之一,当我们有了事务就会让数据库始终保持一致性,同时我们还能通过事务的机制恢复到某个时间点,这样可以保证给已提交到数据库的修改不会因为系统崩溃而丢失。 1.1 基本概念 事务&…

OpenCV图像滤波(1)双边滤波函数bilateralFilter的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 功能描述 bilateralFilter是图像处理和计算机视觉领域中的一种高级图像滤波技术,特别设计用于在去除噪声的同时保留图像的边缘和细节。相比于传…

React搭建Vite项目及各种项目配置

1. 创建Vite项目 在操作系统的命令终端,输入以下命令: yarn create vite 输入完成以后输入项目名称、选择开发框架,选择开发语言,如下图所示,即可完成项目创建。 注意事项: 1. Node版本必须符合要求&…

OceanBase v4.2 特性解析:如何实现表级恢复

背景 在某些情况下,你可能会因为误操作而遇到表数据损坏或误删表的情况。为了能在事后将表数据恢复到某个特定时间点,在OceanBase尚未有表级恢复功能之前,你需要进行以下步骤: 利用OceanBase提供的物理恢复工具,您可…

Linux云计算 |【第一阶段】SERVICES-DAY6

主要内容: Linux容器基础、Linux容器管理、podman命令行、管理容器进阶 实操前骤:安装 RHEL8.2 虚拟机 1.选择软件包:rhel-8.2-x86-dvd.iso; 2.内存2048M; 3.时区选择亚洲-上海,带GUI的服务器&#xff1b…

使用kali对操作系统和网络服务类型进行探测

1.在Kali终端中输入命令“nmap –sS –n -O 192.168.2.2”,探测目标主机的操作系统类型 2. 在Kali终端中输入命令“nmap –sV -n 192.168.2.2”,探测目标主机开启的网络服务类型 3.在Kali终端中输入命令“nmap –A -n 192.168.2.2…

vue3前端开发-小兔鲜项目-产品详情基础数据渲染

vue3前端开发-小兔鲜项目-产品详情基础数据渲染!这一次内容比较多,我们分开写。第一步先完成详情页面的基础数据的渲染。然后再去做一下右侧的热门产品的列表内容。 第一步,还是老规矩,先准备好接口函数。方便我们的页面组件拿到对…

掌握互联网路由选择协议:从基础入门到实战

文章目录 路由选择协议的基本概念路由选择算法的分类分层次的路由选择协议路由信息协议(RIP)内部网关协议:OSPF外部网关协议:BGP互联网中的实际应用总结 互联网的路由选择协议是网络通信的核心,它决定了数据包如何在网…

Sentinel初步了解

概念 Sentinel面向分布式、多语言异构化服务框架的流量治理组件。 相关文档https://github.com/alibaba/Sentinel/wiki/ 服务雪崩 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出…

Manticore Search(es轻量级替代)

概念: Manticore Search 是一个使用 C 开发的高性能搜索引擎,创建于 2017 年,其前身是 Sphinx Search 。Manticore Search 充分利用了 Sphinx,显着改进了它的功能,修复了数百个错误,几乎完全重写了代码并保…

MySQL第四次作业

1.修改student表中年龄字段属性,数据类型由int改变为smallint 2.为course表中cno课程学号设置索引,并查看索引 (3)为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为SC_INDEX (4&#xff0…

mysql对数据库的增删改

目录 DML语句: 增加数据(insert语句) 增加数据(insert into select) 修改数据(update语句) 【where 子句条件】 删除数据(delete语句) 删除数据(trunca…

NO.1 Hadoop概述

1.1 Hadoop是什么 1.2 Hadoop优势 1.3 Hadoop组成 1.3.1 HDFS架构概述 1.3.2 YARN架构概述 1.3.3 MapReduce架构概述 1.3.4 HDFS、YARN、MapReduce三者关系 1.4 大数据技术生态体系 1.5 推荐系统框架图

数据结构C++——优先队列

文章目录 一、定义二、ADT三、优先队列的描述3.1 线性表3.2 堆3.2.1 最大堆的ADT3.2.2 最大堆的插入3.2.3 最大堆的删除3.2.4 最大堆的初始化3.3 左高树 LT3.3.1 高度优先左高树HBLT3.3.2 重量优先左高树WBLT3.3.3 最大HBLT的插入3.3.4 最大HBLT的删除3.3.5 合并两棵最大HBLT3.…

QT总结——图标显示坑

最近写代码遇到一个神仙大坑,我都怀疑我软件是不是坏了,这里记录一下。 写qt工程的时候我们一般会设置图标,这个图标是窗体的图标同时也是任务栏的图标,但是我发现生成的exe没有图标,这个时候就想着给他加一个图标&…

AI学习记录 - 激活函数的作用

试验,通过在线性公式加入激活函数,可以拟合复杂的情况(使用react实现,原创) 结论:1、线性函数的叠加,无论叠加多少次,都是线性的 如下图 示例代码 线性代码,使用ykxb的方式&…

【BUG】已解决:ValueError: All arrays must be of the same length

ValueError: All arrays must be of the same length 目录 ValueError: All arrays must be of the same length 【常见模块错误】 【解决方案】 问题原因 解决方法 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰&…

Python爬虫实战案例(爬取图片)

爬取图片的信息 爬取图片与爬取文本内容相似,只是需要加上图片的url,并且在查找图片位置的时候需要带上图片的属性。 这里选取了一个4K高清的壁纸网站(彼岸壁纸https://pic.netbian.com)进行爬取。 具体步骤如下: …

Ubuntu-文件管理器中鼠标右键添加文本文件

文件管理器中鼠标右键添加文本文件 一、概述二、步骤 一、概述 Ubuntu在文管右键发现没有创建文本文件的菜单, 期望如下所示,这样的操作非常简单 二、步骤 找到模板文件夹 在模板文件夹,创建自己想要的文件就好啦 这个也是支持放文件夹去…

【C++】学习笔记——哈希_1

文章目录 十八、哈希1. unordered系列关联式容器2. 底层结构哈希函数哈希冲突 未完待续 十八、哈希 1. unordered系列关联式容器 在C11中,STL又提供了4个unordered系列的关联式容器,这四个容器与红黑树结构的关联式容器使用方式基本类似,只…