
Audio
文章平均质量分 87
小小程序员1990
这个作者很懒,什么都没留下…
展开
-
I2S总线协议 .
I2S总线协议一、I2S总线概述 音响数据的采集、处理和传输是多媒体技术的重要组成部分。众多的数字音频系统已经进入消费市场,例如数字音频录音带、数字声音处理器。对于设备和生产厂家来说,标准化的信息传输结构可以提高系统的适应性。I2S(Inter—IC Sound)总线是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专责于音频设备之间的数据传转载 2012-08-06 10:29:59 · 11000 阅读 · 1 评论 -
声音设备返回的input buffer总是320个字节
首先简单介绍下,G711的压缩比,其实比较低2:1的压缩,一般采样的数据都是一次性的读取320字节,至于为什么是320呢?原因是这样的:语音帧的最小单位是20ms,也就是在8KHZ 16bit的基础上,一帧语音可以播放20ms,这20ms对应的长度就是320字节,按帧的概念来说,就是最少必须编码一帧的数据,也就是达到最小的语音播放单位.320个字节是这么算出来的:8Kh转载 2013-02-19 16:44:59 · 1935 阅读 · 1 评论 -
AMR音频编码器概述及文件格式分析
AMR音频编码器概述及文件格式分析 全称Adaptive Multi-Rate,自适应多速率编码,主要用于移动设备的音频,压缩比比较大,但相对其他的压缩格式质量比较差,由于多用于人声,通话,效果还是很不错的。一、分类1. AMR: 又称为AMR-NB,相对于下面的WB而言,语音带宽范围:300-3400Hz,8KHz抽样2.转载 2013-02-19 15:57:48 · 733 阅读 · 0 评论 -
BugFix 2:状态栏显示耳机插拔图标
StatusBarPolicy.java是状态栏相关图标显示源码.为了能在状态栏显示插拔耳机图标,需要到该文件下注册插拔耳机事件addAction(Intent.ACTION_HEADSET_PLUG).当有插拔耳机时,会收到该广播消息,则可以在BroadcastReceiver里处理action.equals(Intent.ACTION_HEADSET_PLUG)的情况.要显示图标可用Not转载 2012-12-24 13:37:23 · 623 阅读 · 0 评论 -
Android Audio代码分析10 - audio_track_cblk_t::framesReady函数
Android Audio代码分析10 - audio_track_cblk_t::framesReady函数在看AudioTrack的write函数的时候,了解到,音频数据最终都写到了audio_track_cblk_t的结构体中。这个结构体是在AudioFlinger中创建的。AudioFlinger是如何来使用这些数据的呢?今天就来学习学习。我们写数据的时候,转载 2012-10-10 14:45:20 · 2274 阅读 · 0 评论 -
android音频系统
android音频系统 转:http://blog.youkuaiyun.com/qianjin0703/article/details/63876620. 专用术语1. 物理结构2. 系统架构本文基于Freescale IMX平台Codec ALC5625为例。0. 专用术语ASLA - Advanced Sound Linux Architecture转载 2012-08-29 09:10:54 · 814 阅读 · 0 评论 -
Audio子系统学习
一、学习计划1、Background of sound2、Sound wav3、ADC/DAC4、Sample rate and Bit depth …5、Audio Standards6、PCM7、IIS8、AC97 二 基础知识 1、wav文件wave是录音时用的标准wundows文件格式,文件扩展名为w原创 2012-09-03 14:27:04 · 2906 阅读 · 0 评论 -
关于音频采样率以及比特率的问题
关于音频采样率以及比特率的问题 今天在百度知道回答问题的时候遇见这样一个问题“一张光盘700MB,可以保存多长时间立体声16位的44KHZ声音!” 首先我就想到,前几天遇见的一个问题1G容量用480Mbps传有多快,一想,这还不简单,480Mbps多快,用1024M除下不就得了,后来发现这么做不对,我将"480Mbps"误解为480兆/秒。事实上"480MBPS"应为480兆转载 2012-09-03 09:20:02 · 2927 阅读 · 0 评论 -
Android Audio System 之二:AudioFlinger
Android Audio System 之二:AudioFlinger转自:http://blog.youkuaiyun.com/droidphone/article/details/5951999引言 AudioFlinger是Android音频系统的两大服务之一,另一个服务是AudioPolicyService,这两大服务都在系统启动时有MediaSever加载,加载的代转载 2012-08-20 14:26:12 · 709 阅读 · 0 评论 -
Android Audio System 之一:AudioTrack如何与AudioFlinger交换音频数据
Android Audio System 之一:AudioTrack如何与AudioFlinger交换音频数据 本文转自:http://blog.youkuaiyun.com/droidphone/article/details/5941344引子Android Framework的音频子系统中,每一个音频流对应着一个AudioTrack类的一个实例,每个AudioTrack会在创建时转载 2012-08-20 13:22:09 · 673 阅读 · 0 评论 -
Android中的Audio播放:控制Audio输出通道切换 .
Audio 输出通道有很多,Speaker、headset、bluetooth A2DP等。通话或播放音乐等使用Audio输出过程中,可能发生Audio输出通道的切换。比如,插入有线耳机播放音乐时,声音是从耳机发出的;而此时拔出耳机,Audio输出通道会发生切换。如果音乐播放器不做处理,Audio输出是被切换到扬声器的,声音直接从Speaker发出。我们在编写程序时,要捕获并按照需求来处理这样的事转载 2012-08-29 09:31:34 · 12339 阅读 · 1 评论 -
audio资料
http://blog.youkuaiyun.com/droidphone/article/details/5941344原创 2012-08-17 15:54:29 · 551 阅读 · 0 评论 -
ALSA 驱动框架和驱动开发 (二)
本文主要接着讲,ALSA驱动框架中,内核调用到驱动的全过程十.从内核调用到驱动的全过程 1.Open /dev/dsp Open操作,通过前面所说的结构图,我们知道,当内核调用open函数时, 首先调用的是soundcore_open,通过__look_for_unit找到chain[3],即dsp这一sound_unit指针,然后重新赋值文件转载 2012-07-31 16:09:58 · 1637 阅读 · 0 评论 -
ALSA 驱动框架和驱动开发 (一)
音频设备接口包括PCM IIS AC97三大类两种音频驱动框架:ALSA和 OSSOSS包含DSP和MIXER字符设备接口,完全使用文件操作ALSA以CARD和组件(PCM,mixer等)为主线,在用户空间的变成中不适用文件接口,而是使用alsalib,而下文要介绍的没有使用ALSAlib,而是使用了OSS lib 接口芯片为PCM系列Linux 2.转载 2012-07-31 16:09:04 · 1498 阅读 · 0 评论 -
Linux Audio 编程
Linux Audio 编程 一、数字音频 音频信号是一种 连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中作 进一步的处理。 数字音频系统通过将声波的波型转换成一系列二进制数据,来实现对 原始声音的重现,实现这一步骤的设备常被称为模/数转换器(A/D)。A/D转换器以每秒钟上万次转载 2012-07-30 18:42:53 · 1050 阅读 · 0 评论 -
linux audio 子系统(转) 2012.07.27
Linux audio子系统研究嵌入式开发联盟mcuos.com原创文章Osboy:mcuos.com@gmail.com 1 认识一些有用的数据结构SoC 设备结构体:他是整个Audio子系统描述结构体。 /* SoC Device - the audio subsystem */struct snd_soc_device {转载 2012-07-27 09:02:50 · 5433 阅读 · 0 评论 -
Android4.1.2 耳机插入拔出通知流程分析
因为需要加一套新的耳机设备accessory并且展示耳机图标在状态栏,所以需要去看一下android上层的处理流程。其实整个耳机插入的流程是:当硬件检测到耳机的插入,kernel上报UEvent到上层,上层接收到event后,调用硬件去切audio path, 硬件切换成功后,kernel发送UEvent给framework, 然后做show图标的动作。测试过程中,使用ADB命令发送UEv转载 2013-10-30 15:22:38 · 1804 阅读 · 0 评论