来电监听及录音

鸿蒙ArkTS开发:微信/系统来电通话监听功能实现 通话状态监听:检测来电、去电和通话中状态音频流监控:通过麦克风使用情况判断是否在通话权限管理:动态申请麦克风和通话记录权限状态管理:15秒宽限期后执行锁定操作。 阅读详情

来电监听及录音

  1. 来电状态监听

    public class MyService extends Service {
    
        private MediaRecorder mRecorder;
        private String num;
    
        @Override
        public void onCreate() {
            super.onCreate();
            TelephonyManager manager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);    // 获取电话管理器
            manager.listen(new MyPhoneStateListener(), PhoneStateListener.LISTEN_CALL_STATE);    // 监听电话状态
        }
    
        private class MyPhoneStateListener extends PhoneStateListener {            // 电话状态监听器
            public void onCallStateChanged(int state, String incomingNumber) {    // 在电话状态改变时执行
                switch (state) {
                    case TelephonyManager.CALL_STATE_RINGING:    // 振铃
                        System.out.println("来电话了");
                        num = incomingNumber;//得到来电号码
                        break;        
                    case TelephonyManager.CALL_STATE_OFFHOOK:    // 摘机
                        System.out.println("开始通话");
                        start();
                        break;    
                    case TelephonyManager.CALL_STATE_IDLE:        // 空闲
                        System.out.println("挂断电话");
                        stop();
                        break;
                }
            }
        }
    
        public void onDestroy() {
            tm.listen(listener, PhoneStateListener.LISTEN_NONE);// 取消监听
            listener = null;
        }
  2. 录音

    private void start() {
        mRecorder = new MediaRecorder();                            // 创建媒体记录器
        mRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);       // 指定音频源(麦克风)
        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);      // 设置输出格式(3gp)
        mRecorder.setOutputFile("/mnt/sdcard/" + num + "-" + System.currentTimeMillis() + ".3gp");    // 指定文件路径(SD卡)
        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);       // 指定编码(AMR_NB)
        try {
            mRecorder.prepare();    // 准备
        } catch (Exception e) {
            e.printStackTrace();
        }    
        mRecorder.start();   // 开始
    }
    
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }
    
    //下面是录音
    private void stop() {
        if (mRecorder != null) {
            mRecorder.stop();        // 停止
            mRecorder.release();    // 释放
            mRecorder = null;        // 垃圾回收
        }
    }

  • 邮箱 :charon.chui@gmail.com
  • Good Luck!
Benchmark系列——基本概念和分类 本文主要介绍了Benchmark的基本概念和分类情况。 阅读详情

相关推荐

k8s重装1.28.2+calico+踩坑收集+InPlacePodVerticalScaling

它提供了从镜像构建(通过 Dockerfile)、镜像管理(上传、下载、存储等)、容器创建、运行、网络配置(可以为容器分配自定义的网络,如 bridge 网络、host 网络等)到容器编排(通过 Docker Compose 可以简单地编排多个容器的启动和关联关系)等一整套完整的解决方案。它的核心功能是启动和管理容器的生命周期。sudo apt update这个可以经常用,是来更新软件包的,它不下载,所以没风险,但是经常会报错,别问,问就是某种强大的力量,所以用镜像或者代理或者巴拉巴拉。

SsjjsS2019的博客 2554

一个BUTTON,实现点击播放录音,长按录音

  因为毕业设计里有需要用到录音的功能,但是又要求界面比较小巧,所以思考了许久,相出个这么办法,让一个BUTTON把播放和录音的功能全部实现(当然,其他的也可以——。——~) 1.点击的话则播放/停止播放录音 2.长按则开始录音,手指离开则停止录音   为了实现上面的效果,我们首先需要识别是点击还是长按,并且得知长按模式下按下和离开的时间。用设置setOnTouchListener的...

ONS_cukuyo的博客 3157

Weblogic安装与部署

27.免密登录,在目录Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\AdminServer和Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\Server-TA目录下,新建security\boot.properties文件,13.点击新建按钮,填写服务器名称,服务器监听地址,再点击下一步,最后点击完成。

m0_46259466的博客 6635

手机端长按事件

方法 $.fn.longPress = function(fn) {     var timeout = undefined;     var $this = this;     for(var i = 0;i         $this[i].addEventListener('touchstart', function(event) {             event.prev

cici_xueqin的博客 1083

MLC-LLM框架在安卓设备上的模型编译与部署全流程解析

本文详细解析了如何利用MLC-LLM框架在安卓设备上编译与部署大语言模型。从环境搭建、模型获取与量化编译,到最终的安卓应用打包与调试,提供了完整的实战流程。重点介绍了如何通过MLC-LLM将大型模型优化为适合移动端运行的格式,实现本地、低延迟、隐私安全的AI应用部署。

weixin_29251337的博客 475

【破局之道】LangChain4j 0.31.0 + Java 8 + Spring Boot:在“过时”环境中构建本地大模型应用的实战指南

本文为使用Java 8和Spring Boot等“过时”技术栈的团队提供了构建本地大模型应用的实战指南。通过采用LangChain4j 0.31.0这一兼容版本,结合Ollama部署本地大模型,开发者无需升级JDK即可在现有项目中快速集成AI能力,实现智能问答、文档摘要等功能,为传统项目注入创新活力。

t4y5u6i7o的博客 559

利用服务实现电话监听-来电-接听-挂断,进行录音

在要oncreate 中实行:           public void onCreate() { super.onCreate(); Log.i("TAG", "服务启动了"); // 对电话的来电状态进行监听 TelephonyManager telManager = (TelephonyManager) this .getSystemService

Kylin麒麟 3211

【AI编程】Claude Code 最强AI 编程利器项目实战详解

Claude Code 最强AI 编程利器项目实战详解

congge 7405

Service之来电监听(失败的案例)

Service:服务,可以理解成一个运行再后台没有界面的Activity,集成于Seriver,是四大组件之一 Service的继承关系:Service-->ContextWrapper-->Context (与activity一样,都继承与ContextWrapper); 生命周期:Context.startSeriver() 方法开启服务:onCreate()--&gt...

weixin_30566149的博客 147

[系统安全] 十六.PE文件逆向基础知识(PE解析和PE编辑工具)

您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系统,更加深入,也是作者的慢慢成长史。换专业确实挺难的,逆向分析也是块硬骨头,但我也试试,看看自己未来四年究竟能将它学到什么程度,漫漫长征路,偏向虎山行。享受过程,一起加油~ 作者前面介绍了三个漏洞,包括Chrome浏览器保留密码渗透解析、通过Chrome浏

杨秀璋的专栏 1万+

ROS 之 使用yocs_velocity_smoother对机器人速度进行限制

yocs_velocity_smoother是一个速度、加速度限制器,用来防止robot navigation的速度/转速过快,加速度/快减速过大。Bound incoming velocity messages according to robot velocity and acceleration limits. The velocity smoother nodelet runs together with the kobuki_node to apply robot’s velocity and .

https://shixuebin.gitee.io/hexo-blog/ 2624

Android应用开发-----------来电录音(去电录音)

最近手头的活不是很紧,所以有空整理一下 来电录音或去电录音

松仔 1703

SAP 实施:Waterfall vs. Agile —— 一场“结构性矛盾“的深刻比较先说结论:在 SAP 世界里,这从来不是“谁更好“的宗教问题,而是“你的项目 DNA 是什么“的战略选择。​

SAP 实施:Waterfall vs. Agile —— 一场"结构性矛盾"的深刻比较 先说结论:在 SAP 世界里,这从来不是"谁更好"的宗教问题,而是"你的项目 DNA 是什么"的战略选择。​ SAP 早已用 SAP Activate​ 给出了官方态度——它不是纯 Agile,也不是回头去搞旧 Waterfall,而是一个带质量门的混合架构。 1. 先回到本质:两者解决的是不同维度的风险 维度 Waterfall(传统 ASAP 路线)​ Agile(SCRUM/Kanban 式迭代)​

金牌架构师 337

android电话录音

1.写一个监听来电消息的服务类, 监听电话、录音、保存录音结果 [code="java"]import java.io.File; import android.app.Service; import android.content.Context; import android.content.Intent; import android.media.MediaRecorder; ...

iteye_12330的博客 245

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Android来电自动接听,自动录音,自动回拨功能

public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanc

CL 4437

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

电话录音的实现,无论是来电还是去电

在你没有空闲记录电话内容时,电话录音软件就显得十分的方便了。无论是来电还是去电,都可以在SD存储卡上留下录音记录,以备日后查询。也可以做为陈堂证供哦!!!!! 首先,启动一个自定义的Service。作用是让操作在后台一直运行,只要来电话了就录音。 第二点就是利用TelephonyManager类判断现在电话的状态,在来电的情况下启动录音; 第三点利用mediaRecorder类来录音...

zymic021635的博客 282

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Android 来去电自动录音(一)

本文是关于android来去电自动录音的一个实现方法介绍。来去电自动录音的关键在于如何×××电话状态的转变: i、来电的状态的转换如下(红色标记是我们要用到的状态) 空闲(IDEL)——> 响铃(RINGING)——> 接听(ACTIVE)——> 挂断(经历DISCONNECTING——DISCONNECT...

weixin_33975951的博客 186

android 之service实现电话监听并录音

要实现电话监听,需要监听电话的状态,方法如下.  ListenReceiver类:   收到电话广播时开启监听电话的服务 public class ListenReceiver extends BroadcastReceiver {     public void onReceive(Context context, Intent intent) {         con

Whatever is worth doing is worth doing well. 6634

Android监听来去电通话录音真正可实行方案,可获取电话接通时状态

最近 经过一段时间研究了Android来去电并且录音的研究,特此作为记录 首先监听来去电并且可以录音得有以下权限: //录音权限 <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.CAPTUR...

u010390748的博客 7925

Android--通话录音

我们在使用Android手机打电话时,有时可能会需要对来去电通话自动录音,本文就详细讲解实现Android来去电通话自动录音的方法。  来去电自动录音的关键在于如何监听手机电话状态的转变:        1)来电的状态的转换如下(红色标记是我们要用到的状态)        空闲(IDEL)——> 响铃(RINGING)——> 接听(ACTIVE)——> 挂断(经历DISCON

超宇的博客 4678

【学习笔记】通过服务监听电话的呼叫状态

启动电话监听服务 启动服务StartService();

u012602382的专栏 486

45.android服务service-电话录音机

电话的状态: 挂断电话 来电状态 接通电话状态 用到的函数: TelephonyManager manager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);//获得电话管理器 manager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);...

augfun的博客 1564

android88 录音机

package com.itheima.recorder; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; public class Ma...

weixin_30389003的博客 81

DevExpress试用弹窗问题排查与解决:从license.licx到环境清理

在.NET开发中,软件授权机制是影响项目稳定性的常见因素。DevExpress控件库通过编译期授权绑定来验证使用合法性,项目中的license.licx文件记录控件版本与公钥信息,一旦与实际安装环境不一致,就会触发评估模式并弹出试用提示。这种授权过期现象并非个别案例,新环境拉取旧代码、试用期残留、多版本并存都可能导致弹窗反复出现。解决此类问题需从概念原理入手:先理解授权触发机制,再检查项目引用、缓存目录、注册表残留等关键点,通过清理bin/obj、重置license.licx、统一NuGet包版本等步骤恢复

weixin_33937778的博客 316
上一篇: 内存泄露
下一篇: 零权限上传数据
CharonChui
博客等级 码龄12年 66粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值