Android 息屏录音

news/2024/9/18 14:59:31/ 标签: android

问题

解决Android录音的息屏之后无法录制声音的问题,看日志发现,录音程序并没有中断,但是录制到的数据均是byte为0的数据,即空数据。

测试机为Android 13系统

废话

网上一搜一大堆,ai也是一问也回答得头头是道,源码给的也能录音,就是一息屏就哑火,网上找了好多源码,大都是Android 10以下系统的。

最后终于发现,网上的代码没错,ai也没错,就他么在AndroidManifest.xml中漏了最关键的一句:android:foregroundServiceType="microphone"

实现

具体实现就略过了,这里仅说个大概步骤:

1、起一个服务RecordService

2、在AndroidManifest.xml注册这个RecordService

        <service android:name="com.example.record.RecordService"android:foregroundServiceType="microphone"android:exported="false"tools:ignore="ForegroundServicePermission" />

最关键就是这一句android:foregroundServiceType="microphone",之前就是漏了这一句,死活不行。

3、在这个RecordService中使用startForeground方法将这个服务设置成前台服务。

4、在这个RecordService中实现录音逻辑。

参考

前台服务传送门:

服务概览  |  Background work  |  Android Developers

录音传送门:

https://blog.csdn.net/qq_33601179/article/details/89376082?spm=1001.2014.3001.5501


http://www.ppmy.cn/news/1517169.html

相关文章

【Selenium】UI自动化实践——输入验证码登录

文章目录 实战题目解题方案 实战题目 使用pythonselenium实现输入验证码的UI自动化。登录页面如图&#xff1a; 解题方案 验证码登录需要导入相关模块和库&#xff0c;本文使用的是opencv和ddddocr模块组合&#xff0c;导入方式采用pip3 install opencv-python、pip3 insta…

速盾:cdn是什么发展前景?

CDN&#xff08;Content Delivery Network&#xff09;是内容分发网络的缩写&#xff0c;是一种通过将内容存储在离用户最近的服务器上&#xff0c;以提高网站访问速度和内容可用性的技术。CDN的发展前景非常广阔&#xff0c;下面将从技术进步、用户需求和商业价值三个方面来详…

如何满足业主多元需求?开发物业APP,打造智能社区生活

随着智能科技的快速发展&#xff0c;物业管理也逐渐迈入数字化时代。物业app开发成为了提升社区管理效率、改善居民生活质量的重要途径&#xff0c;许多物业管理公司纷纷开发物业App&#xff0c;以提升管理效率、改善用户体验。一款出色的物业APP能够整合居民需求、提升企业服务…

如何选择开放式耳机?2024五大市场热卖推荐

在嘈杂的环境中&#xff0c;选择一款合适的耳机可以让我们既享受音乐又能保持对周围环境的警觉。开放式耳机因其设计特点&#xff0c;允许声音通过空气振动传播&#xff0c;不堵塞耳道&#xff0c;这样既保证了佩戴的舒适性&#xff0c;又能让我们感知周围的声音&#xff0c;提…

探索微服务架构中的动态服务发现与调用:使用 Nacos 与 Spring Cloud OpenFeign 打造高效订单管理系统

1. 背景 在现代微服务架构中&#xff0c;服务之间的通信与协作是非常重要的。Spring Cloud Alibaba 提供了一套完整的微服务解决方案&#xff0c;其中包括 Nacos 用于服务注册与发现&#xff0c;OpenFeign 用于声明式服务调用&#xff0c;Spring Cloud LoadBalancer 用于负载均…

基于asp.net的茶叶销售系统网站附源码

这个一个基于asp.net的webform框架的茶叶销售系统源码&#xff0c;包含前后台&#xff0c;具体详情如下 1.主要功能 主要功能包含用户注册、茶叶浏览、我的购物车、购物订单、商品评论、个 人中心、后台登录、用户管理、商品管理、订单管理、评论管理、发布商品 等等模块。2.…

从国产 3A 大作《黑神话·悟空》的横空出世,深入分析国产游戏在图形渲染、物理引擎、AI等方面的技术亮点,以及这些技术如何推动了游戏体验的提升

深入分析国产游戏在图形渲染、物理引擎、AI等方面的技术亮点&#xff0c;以及这些技术如何推动了游戏体验的提升。 一、图形渲染技术在游戏行业的进步显著推动了视觉效果的提升&#xff0c;增强了玩家的沉浸感。以下是图形渲染领域的一些重要技术及其对游戏体验的影响&#xff…

DORIS - 执行 git submodule update --init --recursive 的目的是什么?

前言 以前&#xff0c;我们学习源码的时候只需要执行克隆命令即可&#xff0c;如下&#xff1a; git clone https://github.com/rocky/doris.git 当我学习DORIS的时候&#xff0c;发现执行完上面的命令后&#xff0c;还需要执行如下命令: git submodule update --init --recur…

[论文笔记]Improving Retrieval Augmented Language Model with Self-Reasoning

引言 今天带来一篇百度提出的关于提升RAG准确率的论文笔记&#xff0c;Improving Retrieval Augmented Language Model with Self-Reasoning。 为了简单&#xff0c;下文中以翻译的口吻记录&#xff0c;比如替换"作者"为"我们"。 检索增强语言模型(Retrie…

linux常见基础命令

Linux基础命令 (下面这些命令都是最常见的命令.更复杂的会在之后的C语言学习陆续深入) 1、 pwd 功能&#xff1a; print work directory的缩写&#xff0c;显示当前目录的绝对路径 2、 cd 功能&#xff1a; change directory的缩写&#xff0c;切换目录 绝对路径&#xff1a;以…

【KDD2024】大数据基础工程技术集群异常检测论文入选

近日&#xff0c;由阿里云计算平台大数据基础工程技术团队主导&#xff0c;与浙江大学合作的论文《Cluster-Wide Task Slowdown Detection in Cloud System》被数据挖掘领域顶会ACM SIGKDD2024接收&#xff0c;该论文从集群整体作业执行情况分布入手&#xff0c;旨在解决集群整…

服务器被渗透的表现及检测方法

本文将详细介绍服务器遭受渗透攻击后的常见症状&#xff0c;并提供一些实用的检测方法。我们还将通过具体的案例和代码示例来帮助读者更好地理解和检测服务器的安全状况。 1. 引言 服务器渗透是指攻击者未经授权访问服务器资源的过程。一旦服务器被成功渗透&#xff0c;可能会…

pgsql导入导出数据

1、pg_dump 进行数据库导出 导出数据库表结构和数据 pg_dump -U postgres -h localhost -d mydatabase -f /path/to/backup.sql-U 用户名-h 主机地址-d 要导出的数据库-f 导出的sql文件 2、pg_dumpall 备份所有数据库 pg_dumpall -U postgres -h localhost -f /path/to/all…

java框架基础--反射

前言 本文将详细讲述反射的基本概念以及反射底层代码的部分实现 反射 就是程序在运行状态时,对于任何一个类,都在仅知道类名的状况下,动态获取该类中的所有属性和方法(包括私有),可以动态地通过该类的对象调用类的属性和方法的机制称为反射机制 是将java中的类映射成一个个对象…

MAVEN 3.9.1安装

WIN系统MAVEN 3.9.1安装 1. 下载 下载官网地址&#xff1a;Index of /dist/maven/maven-3 (apache.org) 百度网盘&#xff1a; 通过网盘分享的文件&#xff1a;apache-maven-3.9.1-bin.zip 链接: https://pan.baidu.com/s/1VKmxrU5Hg6mbEUc43wjQUw 提取码: aua6 –来自百度网…

Linux 常用命令 - lsblk 【查看磁盘(块设备)使用情况】

简介 lsblk 源自于 “list block devices” 的缩写。这个命令用于列出系统中的所有块设备&#xff08;block devices&#xff09;&#xff0c;比如硬盘、光驱等。它展示块设备的层次结构、大小和挂载点等信息&#xff0c;非常有助于系统管理员理解系统存储结构。 使用方式 l…

Spring:浅谈对SpringBean的认识

一、SpringBean的生命周期 1、实例化bean对象&#xff1a;通过反射的方式进行对象的创建&#xff0c;此时的创建只是在堆空间中申请空间&#xff0c;属性都是默认值。 2、设置对象属性&#xff1a;给对象中的属性进行值的设置工作。 3、检查Aware相关接口并设置相关依赖&#x…

C的温故而知新:位操作(C Primer Plus第十五章)

第十五章&#xff1a;位操作 这一章的篇幅不是很长&#xff0c;但既然能单独作为一章来讲的话&#xff0c;应该蛮重要的&#xff0c;但是我貌似没有总结出多少需要注意、加强记忆的东西&#xff0c;可见在JAVA的日常开发过程中基本不太遇见有关位操作的内容&#xff0c;所以我…

Apache Doris 使用 CBO 和 RBO 结合的优化策略

Apache Doris 在查询优化方面通过结合 RBO 和 CBO,实现了对简单和复杂查询的高效优化。RBO 负责处理常量折叠、子查询改写和谓词下推等基础优化操作,而 CBO 则在 Join Reorder 等复杂场景中发挥作用。这种结合策略使得 Apache Doris 能够在面对各种查询场景时,既能保证优化过…

4170条中医综合真题中医真题ACCESS\EXCEL数据库

今天这份数据库与《4820道西#医综合真#题西#医真题ACCESS数据库》结构相同&#xff0c;包含4千多道真题。这个数据库包含3个表&#xff0c;一个是分类表&#xff08;SECTION_BEAN&#xff09;&#xff0c;一个是题库主表&#xff08;QUESTION_INFO_BEAN&#xff09;&#xff0c…