ActionScript:Resampling PCM data】的更多相关文章

使用基于flash的麦克风录音,如果想在获取完PCM采样数据后,通过Sound马上回放,必须经过resampling.(注意:如果录音是采用的44KHz的话,则不需要) 因此,需要as实现一个简便的函数完成这个转换. public function resampleSamples(sourceSamples:ByteArray, targetSamples:ByteArray, sourceRate:int, targetRate:int = 44100):void { var left:Num…
转自:http://blog.chinaunix.net/uid-9185047-id-3327302.html Somehow i remember that normally 2048 samples refer as a frame. PCM data generally is PCM16, that means one sample is 2 bytes, so one frame is 4096 bytes.…
摘抄雷兄 http://blog.csdn.net/leixiaohua1020/article/details/46890259 /** * 最简单的SDL2播放音频的例子(SDL2播放PCM) * Simplest Audio Play SDL2 (SDL2 play PCM) * * 雷霄骅 Lei Xiaohua * leixiaohua1020@126.com * 中国传媒大学/数字电视技术 * Communication University of China / Digital T…
前言 该篇整理的原始来源为http://blog.csdn.net/leixiaohua1020/article/details/40540147.非常感谢该博主的无私奉献,写了不少关于不同多媒体库的博文.让我这个小白学习到不少.现在将其整理是为了收录,以备自己查看. 一.DirectSound简介 DirectSound是微软所开发DirectX的组件之一,可以在Windows 操作系统上录音,并且记录波形音效(waveform sound).目前DirectSound 是一个成熟的API ,…
本文记录SDL播放音频的技术.在这里使用的版本是SDL2.实际上SDL本身并不提供视音频播放的功能,它只是封装了视音频播放的底层API.在Windows平台下,SDL封装了Direct3D这类的API用于播放视频:封装了DirectSound这类的API用于播放音频.因为SDL的编写目的就是简化视音频播放的开发难度,所以使用SDL播放视频(YUV/RGB)和音频(PCM)数据非常的容易. SDL简介 SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,…
本文记录DirectSound播放音频的技术.DirectSound是Windows下最常见的音频播放技术.目前大部分的音频播放应用都是通过DirectSound来播放的.本文记录一个使用DirectSound播放PCM的例子.注:一位仁兄已经提醒我DirectSound已经计划被XAudio2取代了.后来考证了一下发现确有此事.因此在下次更新中考虑加入XAudio2播放PCM的例子.本文仍然记录一下DirectSound这位“元老”. DirectSound简介 DirectSound是微软所…
http://blog.csdn.net/leixiaohua1020/article/details/25430449 本文介绍一个最简单的基于FFMPEG的音频编码器.该编码器实现了PCM音频采样数据编码为AAC的压缩编码数据.编码器代码十分简单,但是每一行代码都很重要.通过看本编码器的源代码,可以了解FFMPEG音频编码的流程. 本程序使用最新版的类库(编译时间为2014.5.6),开发平台为VC2010.所有的配置都已经做好,只需要运行就可以了. 流程(2014.9.29更新) 下面附一…
===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频播放演示样例2:GDI播放YUV, RGB 最简单的视音频播放演示样例3:Direct3D播放YUV,RGB(通过Surface) 最简单的视音频播放演示样例4:Direct3D播放RGB(通过Texture) 最简单的视音频播放演示样例5:OpenGL播放RGB/YUV 最简单的视音频播放演示样例…
在上文,我们做了YUV播放器,这样我们就入门了SDL播放视频.下面我们来做一个PCM播放,即使用SDL播放PCM数据. 下面说明一下使用SDL播放PCM音频的基本流程,主要分为两大部分:初始化SDL.循环播放数据. 1. 初始化SDL 1). 初始化SDL 执行的方法为SDL_Init(SDL_INIT_AUDIO) 2). 打开音频设备 使用SDL_OpenAudio()打开音频设备.该函数需要传入一个SDL_AudioSpec的结构体. 这里SDL_OpenAudio() 函数的原型为: i…
function startTalk(ws2, button) { var arrBuffer = new ArrayBuffer(320 * 2); var sendBuffer = new DataView(arrBuffer); var sendBufferindex = 0; if (navigator.getUserMedia) {             navigator.getUserMedia(                 { audio: true },         …
http://blog.jianchihu.net/pcm-volume-control.html 去年写过一篇文章,有关PCM的音量控制:http://blog.jianchihu.net/pcm-volume-control.html.那时阐述了一些概念,对一些细节没有详细描述.因为有人问到使用对数关系调节音量时,增益系数如何确定,故开此篇文章. 声学中的分贝 因为人耳的特性,我们对声音的大小感知呈对数关系.所以我们通常用分贝描述声音大小,分贝(decibel)是量度两个相同单位之数量比例的…
http://blog.jianchihu.net/pcm-volume-control.html 一.声音的相关概念 声音是介质振动在听觉系统中产生的反应.声音总可以被分解为不同频率不同强度正弦波的叠加(傅里叶变换). 声音有两个基本的物理属性:频率与振幅.声音的振幅就是音量,频率的高低就是指音调,频率用赫兹(Hz)作单位.人耳只能听到20Hz到20khz范围的声音. 模拟音频(Analogous Audio),用连续的电流或电压表示的音频信号,在时间和振幅上是连续.在过去记录声音记录的都是模…
===================================================== 最简单的视频和音频播放的演示样品系列列表: 最简单的视音频播放演示样例1:总述 最简单的视音频播放演示样例2:GDI播放YUV, RGB 最简单的视音频播放演示样例3:Direct3D播放YUV.RGB(通过Surface) 最简单的视音频播放演示样例4:Direct3D播放RGB(通过Texture) 最简单的视音频播放演示样例5:OpenGL播放RGB/YUV 最简单的视音频播放演示样…
[文章内容属于多方转载内容] PCM Parameters PCM audio is coded using a combination of various parameters. Resolution/Sample Size This parameter specifies the amount of data used to represent each discrete amplitude sample. The most common values are 8 bits (1 byte…
http://blog.csdn.net/ljxt523/article/details/52068241 1. What is PCM? PCM(Pulse-code-modulation)是模拟信号以固定的采样频率转换成数字信号后的表现形式. Sample Rate : 采样频率单位为:Hz.采样频率越高,音频质量越好,占用空间也越大. Sign : 音频数据是否是有符号的.通常情况下都是有符号的.若是将有符号的数据当做无符号的数据来处理将会使声音听来很刺 Sample Size : 表示每…
转载:http://www.voidcn.com/relative/p-fwdkigvh-bro.html pcm 文件存储的是 原始的声音波型二进制流,没有文件头. (1)首先要确认 pcm文件的每个采样数据 采样位数,一般为8bit或16bit. (2)然后确定是双声道还是单声道,双声道是两个声道的数据交互排列,需要单独提取出每个声道的数据. (3)然后确定有没有符号位,如采样点位16bit有符号位的的范围为-32768~32767 (4)确定当前操作系统的内存方式是大端,还是小端存储.具体…
最近在验证tina对裸流音视频的支持,主要指h264视频裸流及pcm音频裸流. 在原始sdk中有针对很多video和audio类型的parser,但就是没有找到pcm和h264的parser,所以需要自己搞个parser,同时找到audio播放的的接口写个demo来验证. 所有支持解析类型的parser方法都在目录:/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/libcore/parser下 aac Android.…
在分析AudioTrack的时候,第一步会new AudioTrack,并调用他的set方法.在set方法的最后调用了createTrack_l创建音轨.我们现在来分析createTrack_l的流程. 在分析createTrack_l之前,我们先来了解Android音频流的从PCM到输出的路线.首先,我们的PCM音频数据一般会在用户端,而混音会在AudioFlinger端,因此需要把PCM数据传送给AudioFlinger,因此需要开辟出一块内存用于数据传送:数据到了AudioFlinger之…
1.注意每次编码的PCM数据不能太短,如果太短编码函数长期返回-1这样的错误,将导致编码器彻底失效程序奔溃的问题,经测试32000在3200下稳定,大概1/10码率是没有问题的,具体请自行查询或调试 /* * input pcm data, output (maybe) mp3 frames. * This routine handles all buffering, resampling and filtering for you. * * return code number of byte…
这个其实就是从Audio_processing.h中拿出来的. APM should be placed in the signal chain as close to the audio hardware abstraction layer (HAL) as possible. APM accepts only 16-bit linear PCM audio data in frames of 10 ms.Multiple channels should be interleaved. Aud…
本文主要介绍 AMR(Aduio) 播放 AMR 格式 Base64码 音频. 1.必备资料 github AMR 开源库 :https://github.com/jpemartins/amr.js用心把这个项目看一遍,对于我下面说的话,可以忽略啦,代码是最好的文章,哈哈~~ 2.核心 JS 库 :amr.js .pcmdata.min.js.libamr-nb.js (g上述ithub项目中有另外三个js,我给合成一个amr.js,不要混乱)这三个 JS 是播放声音的主要依赖,下面一 一 介绍…
http://www.ffmpeg.org/download.html http://doc.okbase.net/leixiaohua1020/archive/110977.html  //视频 http://blog.csdn.net/leixiaohua1020/article/details/46890259 //音频 安装: sudo apt-get install mercurial hg clone https://hg.libsdl.org/SDL SDL2.0 该安装包不包括S…
1.概述     HFP(Hands-free Profile),可以让蓝牙设备可以控制电话,如接听.挂断.拒接.语音拨号等,拒接.语音拨号要视蓝牙耳机及电话是否支持. HFP定义了音频网关(AG)和免提组件(HF)两个角色: AG–该设备为音频(特别是手机)的输入/输出网关. HF–该设备作为音频网关的远程音频输入/输出机制,并可提供若干遥控功能. HFP的协议栈如下: 2.Feature和Procedure HFP必须支持下表列出的一些Feature: 这些feature通过一些proced…
AAC V.S. MP3 http://en.wikipedia.org/wiki/Advanced_Audio_Coding#AAC.27s_improvements_over_MP3 AAC patent lisense FAQ: http://www.vialicensing.com/licensing/aac-faq.aspx you may need a license(with a charge once and for all, $1000-$1500 ) but usually…
/*************************************************************************** * Android命令行播放MP3音乐 * 说明: * 有时候我们会遇到Touch不能使用,也没有鼠标,但是我们要在Android上测试 * 声卡情况,所以我们会想到在adb或者debug终端上使用命令行来播放声音. * * 2016-5-26 深圳 南山平山村 曾剑锋 *************************************…
CPLErr GDALRasterBand::RasterIO ( GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, void * pData, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nPixelSpace, int nLineSpace ) Read/write a region of image data for this band.…
from:http://wenku.baidu.com/link?url=hYQHJcAWUIS-8C7nSBbf-8lGagYGXKb5msVwQKWyXFAcPLU5gR4BKOVLrFOw4bX5nWwGxQ9d1-kj0JYvAZA5-wz7KmW4tYeF_qmS1FNyV2e H.264码流结构解析 1. H.264简介 MPEG(Moving Picture Experts Group)和VCEG(Video Coding Experts Group)已经联合开发了一个比早期研发的…
转自http://blog.csdn.net/ameyume/article/details/7618820 播放声音可以用MediaPlayer和AudioTrack,两者都提供了java API供应用开发者使用.虽然都可以播放声音,但两者还是有很大的区别的. 其中最大的区别是MediaPlayer可以播放多种格式的声音文件,例如MP3,AAC,WAV,OGG,MIDI等.MediaPlayer会在framework层创建对应的音频解码器. 而AudioTrack只能播放已经解码的PCM流,如…
live555是使用十分广泛的开源流媒体服务器,之前也看过其他人写的live555的学习笔记,在这里自己简单总结下. live555源代码有以下几个明显的特点: 1.头文件是.hh后缀的,但没觉得和.h后缀的有什么不同 2.采用了面向对象的程序设计思路,里面各种对象 好了,不罗嗦,使用vc2010打开live555的vc工程,看到live555源代码结构如下: 源代码由5个工程构成(4个库和一个主程序): libUsageEnvironment.lib:libliveMedia.lib:libg…
在Echoprint系列--编译中编译了源代码,这次将Echoprint移植到Android平台并測试识别歌曲功能. 一.编译库 1.环境准备 Android NDK,我的是android-ndk-r10e 改动源代码,把src中的.cxx的文件重命名为.cpp.把src文件夹重命名为jni Boost源代码.在PC上编译的时候也安装boost的,我的时boost_1_58_0,复制到jni文件夹 2.编写编译配置文件 打开源代码中的main.cpp,看到核心部分就是 codegen_respo…