前言: 其实在Android中录音可以用MediaRecord录音,操作比较简单。但是不能对音频进行处理。考虑到项目中做的是实时语音只能选择AudioRecord进行录音。然后实时播放也只能采用AudioTrack进行播放。 下文为具体实现: ...
分类:
移动开发 时间:
2016-05-10 12:37:10
阅读次数:
169
前面几篇文章介绍了如何在Java层,利用Android提供的AudioRecord采集音频,利用AudioTrack播放音频,利用MediaCodec来编解码,这些API均是Android提供的Java层API,无论是采集、播放还是编解码,这些API接口都需要将音频数据从Java拷贝到native层,或者从native层拷贝到Java,..
分类:
移动开发 时间:
2016-04-17 23:30:03
阅读次数:
666
最近要做一个项目,利用手机的耳机口输出红外信号,从而把手机变成红外遥控器,信号处理的知识基本都还给老师了,刚开始真的挺头疼。找了不少资料研究了一下,总算有点心得,在这里做个备忘。 一、音频信号输出原理 音频耳机口输出信号的原理已经有大牛的文章,参考http://blog.csdn.net/xl198 ...
分类:
移动开发 时间:
2016-04-04 14:41:03
阅读次数:
518
本文重点关注如何在Android平台上播放一帧音频数据。阅读本文之前,建议先读一下《Android音频开发(1):基础知识》,因为音频开发过程中,经常要涉及到这些基础知识,掌握了这些重要的概念后,开发过程中的很多参数和流程就会更加容易理解。AndroidSDK提供了3套音频播放的API..
分类:
移动开发 时间:
2016-03-14 02:09:35
阅读次数:
348
Android平台中关于音频播放有以下三种方式: 1.SoundPool ---- 适合短促且对反应速度比较高的情况(游戏音效或按键声等) 2.MediaPlayer ---- 适合比较长且时间要求不高的情况 3.AudioTrack ---- 播放解码后的PCM码流 方法一:SoundPool 1
分类:
移动开发 时间:
2016-02-22 19:16:26
阅读次数:
390
10-10 02:43:18.287 720-811/? W/AudioTrack﹕ AUDIO_OUTPUT_FLAG_FAST denied by client10-10 02:43:18.293 4464-4493/? W/System.err﹕ java.net.Socket...
分类:
移动开发 时间:
2015-10-10 15:16:21
阅读次数:
185
AudioTrack的start方法用于实现Android的音频输出,start究竟做了什么?回顾一下上一小节createTrack_l的最后部分,通过binder返回了一个Track的句柄,并以被保存了下来status_t AudioTrack::createTrack_l(...){ s...
分类:
移动开发 时间:
2015-09-13 02:02:11
阅读次数:
455
在分析AudioTrack的时候,第一步会new AudioTrack,并调用他的set方法。在set方法的最后调用了createTrack_l创建音轨。我们现在来分析createTrack_l的流程。 在分析createTrack_l之前,我们先来了解Android音频流的从PCM到输出的路线。....
分类:
移动开发 时间:
2015-08-31 06:27:52
阅读次数:
396
Android.media package里包含声音录放的两个类AudioRecord和AudioTrack。前者用来录制,后者用来播放。配置 pcm:1 int channel = AudioFormat.CHANNEL_IN_MONO ;2 int format = AudioFormat.EN...
分类:
移动开发 时间:
2015-08-27 13:11:13
阅读次数:
251
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容。第7章 深入理解Audio系统本章主要内容· 详细分析AudioTrack。· 详细分析AudioFlinger。· 详细分析AudioPolicyService。本章涉及的源代码文件名及位置下面是本章分析的源码文件名...
分类:
移动开发 时间:
2015-08-02 16:48:56
阅读次数:
741