直接上代码 import java.util.concurrent.Callable; public class MyCallable implements Callable<String> { private long waitTime; public MyCallable(int timeInMillis){ this.waitTime=timeInMillis; } @Override public String call() throws Exception { Thread.slee
本文重点关注如何在Android平台上播放一帧音频数据.阅读本文之前,建议先读一下<Android音频开发(1):基础知识>,因为音频开发过程中,经常要涉及到这些基础知识,掌握了这些重要的概念后,开发过程中的很多参数和流程就会更加容易理解. Android SDK 提供了3套音频播放的API,分别是:MediaPlayer,SoundPool,AudioTrack,关于它们的区别可以看这篇文章:<Intro to the three Android Audio APIs>,简单来说
前言: 上次我们介绍了实时采集音频数据以及播放,今天我们来认识一下直接录制文件的方式. 直接上代码:录制管理类 public class MediaRecorderManager { public static final String TAG = "Recorder"; private MediaRecorder mRecorder; private static MediaRecorderManager mInstance; public MediaRecorderManager(
前言: 其实在Android中录音可以用MediaRecord录音,操作比较简单.但是不能对音频进行处理.考虑到项目中做的是实时语音只能选择AudioRecord进行录音.然后实时播放也只能采用AudioTrack进行播放. 下文为具体实现: public class AudioTrackManager { public static final String TAG = "AudioTrackManager"; private AudioTrack audioTrack; priva
前言: 其实在Android中录音可以用MediaRecord录音,操作比较简单.但是不能对音频进行处理.考虑到项目中做的是实时语音只能选择AudioRecord进行录音. 本文算是对AudioRecord来个回顾: public class AudioRecordManager { public static final String TAG = "AudioRecordManager"; private AudioRecord mRecorder; private DataOutp
声道数一般表示声音录制时的音源数量或回放时相应的扬声器数量. 假设某通道的音频信号是采样率为8kHz,位宽为16bit,20ms一帧,双通道,则一帧音频数据的大小为: int size = 8000 x 16bit x 0.02s x 2 = 5120 bit = 640 byte Android提供了哪些音频开发相关的API? 音频采集: MediaRecoder,AudioRecord 音频播放: SoundPool,MediaPlayer,AudioTrack (它们之间的区别可以参考这篇