默认的情况下,Android放音的采样率固定为44.1khz,录音的采样率固定为8khz,因此底层的音频设备驱动只需设置好这两个固定的采样率。如果上层传过来的采样率与其不符的话,则Android Framework层会对音频流做resample(重采样)处理。Resample的大致流程如下:   AudioResample作为最基本的类,回放和录音resample最终都会调用到这
# Android Bus: A Powerful Tool for Communication Between Components In Android development, communication between different components within an application can be a challenging task. One common way
原创 2024-07-10 04:35:00
35阅读
## Android事件bus的实现流程 ### 步骤概述 在Android开发中,事件bus是一种非常方便的组件,用于实现组件间的通信。下面将以Greenrobot的EventBus为例,介绍如何实现Android事件bus。 ### 步骤展示 ```mermaid stateDiagram [*] --> 注册事件 注册事件 --> 发布事件 发布事件 --> 接收
原创 2024-06-17 04:55:46
17阅读
# Android Event Bus:简化Android组件间的通信 在Android开发中,各个组件之间的通信一直是一个重要而复杂的主题。为了提高开发的灵活性和可维护性,许多开发者选择使用事件总线(Event Bus)模式。本文将介绍什么是Android Event Bus,如何使用它,以及示例代码,帮助你在自己的项目中更有效地实现组件间的通信。 ## 什么是Event Bus? Eve
原创 9月前
61阅读
如下所示,以表格的形式展示了实现“Android Bus Hound”的步骤: | 步骤 | 操作 | | --- | --- | | 1 | 下载并安装Wireshark | | 2 | 下载并安装Android SDK | | 3 | 配置Android设备进行调试 | | 4 | 下载并编译Bus Hound源码 | | 5 | 运行Bus Hound | 接下来,我将详细介绍每个步骤所
原创 2024-01-15 04:49:14
224阅读
一、EventBus 简介EventBus是一种用于Android的事件发布-订阅总线,由GreenRobot开发,。它简化了应用程序内各个组件之间进行通信的复杂度,尤其是碎片之间进行通信的问题,可以避免由于使用广播通信而带来的诸多不便。 EventBus可以代替Android传统的Intent,Handler,Broadcast或接口函数,在Fragment,Activity,Service线程
转载 2023-10-19 12:36:07
72阅读
每一次探索都源于好奇一、说明:本系列主要是讲一些开源框架的使用,帮助程序员更好更快的使用开源框架,以下内容出于本人对框架的理解,如果有不对或者不准确的地方请评论,谢谢。 我比较喜欢带着问题去研究东西,所以我列出以下几个问题,希望你们一样可以带着疑问去看,问题如下:二、问题:AndroidEventBus是什么?它和EventBus以及OTTO有什么关系,又有什么区别?它修复集合传递的问题了吗?粘
大家好,今天给大家带来BugLy热更新,热更新实现了App在毫无知觉的情况下就可以完美的修复Bug,非常的简单而且实用,接下来欢迎大家观看,满满的干货,请自备'开水',哈哈哈哈哈~第一步:BugLy开放平台获取AppId第二步:新建项目,配置BugLy插件;**-注意:**第三步:生成基准包第四步:生成补丁文件:第五步:上传补丁文件到BugLy开放平台上传完成之后,重新启动APP即可完成热更新.
转载 2023-08-31 11:08:40
72阅读
之前的config配置,git更新后,config服务端可自动刷新,而所有的config客户端需
原创 2022-10-01 07:56:31
14阅读
前言学生工作的前提是不能影响个人情绪与生活,嗯!不能用他们的问题惩罚自己,冲吧!我已经忘了总线有啥了QAQ,还有问题就是课上做的笔记没有及时整理,现在就有点迷了!0. 总线概述总线:信息传输的多个部件所互连的一组公共信号通路和计算机系统的互连机构。根据传输方式的不同,总线可以分为如下两类:并行总线:多条线同时传递所有的二进制数位。性能好,适用于近距离传输。串行总线:多位二进制信息公用一位信号线。成本低,适用于远距离。而根据总线位置的不同,总线可以分为如下几类:内部总线:CPU内部.
原创 2021-11-22 17:44:50
501阅读
音频数据流音频正常的回放过程:比如用MediaPlayer播放音频,先要把音频文件读取到内存中,然后执行对应的解码操作,mediaplayer是在mediaplayerservice的帮助下完成解码相关操作的,mediaplayerservice会使用audiotrack完成播放功能。一个audiotrack代表一个播放实例,系统中可能同时运行多个audiotrack实例,同时系统中也会有多个音频
人间观察今年应该不回家过年了,长这么大还真是一个人第一次在外过年,前些文章讲了视频,我们开始音频音频的基础概念开始介绍前,先看一个声音的波形图:横轴是时间,纵轴为振幅,两个图像分别代表左右声道。由于声音频率较大,所以在图像中的信号不是“正弦”,而是实心的。声音是一种波声音是一种压力波,当敲击键盘或者撞击物体时,它们的震动会引起空气的震动,使空气产生疏密变化,由此就形成了一种声波。声波的三要素声波
转载 2023-08-27 12:32:28
251阅读
视频编码基础知识关于视频常听码率,帧率,分辨率,它们分别是什么呢?码率:码率或码流率也就码流(Data Rate)是指视频文件在单位时间内使用的数据流量,通俗一点的理解就是取样率,是视频编码中画面质量控制中最重要的部分,一般用kb/s或者Mb/s表示。同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。码流越大,说明单位时间内取样率越大,数据流,精度就越高,处理出来的文件就越接近原始文
关于音频的输出通路,可以有多重选择:HDMI-out,喇叭,耳机,LINE-in,USB声卡,蓝牙等,切换不同的通路音频就从不同的通路输出或者录入,这里主要以HDMIin为例来简单说一下相关AUDIO通路方面的内容。RK3399 HDMI IN声卡通路选择当前RK3399有三路i2s通道,HDMIOUT音频通路芯片内置为i2s2。当前RK3399 开发板上的音频芯片还有蓝牙、rt5651、tc35
转载 2023-07-05 15:02:42
1011阅读
以下是获取声音振幅的代码:try { while (isRecording) { read = audioRecord.read(data, 0, recBufSize); // L.i(context, "开始获取音频TTT:" + data.length); if (AudioRecord.ERROR_INVALID_OPERATION != read && retry &lt
转载 2023-08-22 07:20:51
233阅读
前言本文重点关注如何对一帧音频数据进行编码和解码。Android 官方的 MediaCodec API首先,我们了解一下 Android 官方提供的音频编解码的 API,即 MediaCodec 类,该 API 是在 Andorid 4.1 (API 16) 版本引入的,因此只能工作于 Android 4.1 以上的手机上。1. MediaCodec 基本介绍提供了一套访问 Android 底层多
转载 2023-07-08 23:57:57
149阅读
使用 AudioRecord 采集音频PCM并保存到文件AudioRecord是Android系统提供的用于实现录音的功能类。AndioRecord类的主要功能是让各种JAVA应用能够管理音频资源,以便它们通过此类能够录制声音相关的硬件所收集的声音。此功能的实现就是通过”pulling”(读取)AudioRecord对象的声音数据来完成的。在录音过程中,应用所需要做的就是通过后面三个类方法中的一个
转载 2023-07-23 19:32:12
100阅读
目录 播放流程和条件Opengl SLObjectItf 对象创建的四板斧播放pcm的流程播放流程和条件android自带的openSL库,可用来解码音频,也可以来播放音频,以及录音。要在jni层调用:1、cmakeList 中target_link_libraries 内引入库:OpenSLES2、引入头文件:#include "SLES/OpenSLES.h" #include "S
前言本文作为开篇,主要以问答的形式,介绍一些音频开发的基础常识,非常重要,因为不了解这些常识,很多 Android API 或者第三方库的参数,你都不知道该怎么配置。主要应用音频播放器,录音机,语音电话,音视频监控应用,音视频直播应用,音频编辑/处理软件,蓝牙耳机/音箱等。具体内容(1)音频采集/播放(2)音频算法处理(去噪、静音检测、回声消除、音效处理、功放/增强、混音/分离,等等)(3)音频
一.android中的资源是在代码中使用的外部文件。图片,音频,动画和字符串等叫做android中的资源文件。 二.Android工程 资源类型布局表    与src源文件夹并列的两个文件夹assets和res用来保存资源文件。      1.assets文件夹中放原声文件如MP3文件,通过AssetManager类以二进制流的
转载 2023-07-24 23:22:03
91阅读
  • 1
  • 2
  • 3
  • 4
  • 5