文章分类 - Android AudioTrack/AudioRecord
摘要:废话不多说,直接贴代码:主代码:直接在主文件中写了功能,一般写在Service里面,这里只是个测试Demopackage com.example.androidmediaplayerdemos;import java.io.IOException;import android.media.Audio...
阅读全文
摘要:今天在公司瞎折腾,郁闷死了,吃饱了没事干,写了一个demo程序,用于录取音源原始数据与产品软件音源数据进行比较.参考前面的一些内容:主程序:package com.example.audiotrackdemo;import java.io.File;import java.io.FileInputS...
阅读全文
摘要:Android 提供的两个API同来实现录音,在录取的pcm数据签上头部信息.两个类的主要区别与特性:AudioRecord:主要实现音频的边录边播(AudioRecord+AudioTrack),已经音频的实时处理优点:语音的实时处理,可以用代码来实现音频的封装缺点:输出的是PCM数据,如果保存为音频文件是不能被音频播放器播放的,必须先写代码实现数据编码以及压缩示例:AudioRecord类录音实现WAV 格式封装,录音20s 文件大小大概为3.5MMeadiaRecord:已经继承了录音编码压缩等,支持少量的录音音频格式,aac(API16 SDK==4.1.6)。amr .3gp优点:大
阅读全文
摘要:下面是一个网上一个大神写的,在公司测过了,还不错.还可以写一个构造函数:initReader(InputStream is){fis = new FileInputStream(is); bis = new BufferedInputStream(fis); }eg:call it as following :InputStream is=Activity.getResource().openRawResource();InitReader(is);openRawResource(r.raw.wavname);上面漏了资源.// filename: WaveFileReader.java/..
阅读全文
摘要:AudioTrack可以读取网络上面的,这个需要后面去添加,涉及的东西太多了,现在看看AudioRecord,查看API : http://developer.android.com/reference/android/media/AudioRecord.html : AudioRecord构造函数:public AudioRecord (int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes) 第一个参数: audioSource : 音源,一般是设备的mi.
阅读全文
摘要:刚才纠正了一个jni第七节一个错误,昨晚一个晚上没睡着啊.为什么要看看AudioTrack和AudioRecord,没有为什么,因为不看看,会死人的.AudioTrack API :http://developer.android.com/reference/android/media/AudioTrack.html : AudioTrack构造函数有两种:第二种我很少用.下面第一种:public AudioTrack (int streamType, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSize.
阅读全文
摘要:本例严重过期,并且使用了不开源且收费的库 请尝试最新开源版: Android基于OpenSL ES,Speex,RTMP的Voip客户端实现 iOS版: iOS基于Audio Queues,Speex,Rtmp的Voip客户端—————-仅供参考请勿用于项目———————– 先说下实现原理,手机采集到语音后进过Speex编码,通过juv以直播形式发布自己的语音流到red5,也是通过juv播放对方的直播流,经过Speex解码后输出到扬声器,如下图: Android端采集编码和解码播放Speex,参考android-recorder,至于他用的red5客户端,看了下,没看明白。。。 JUV这库吧
阅读全文
摘要:最近在在研究语音通话的实现,现在把我的实现思路记录在这里。不过,由于初次接触语音通话,所以这是一个简单的思路,也是经过google以及baidu之后的一个学习总结。 我认为一个语音通话系统至少有四个模块。分别是PCM(Pulse Code Modulation,即 脉码编码调制)语音采集,编解码,网络传输以及语音播放。如果算上UI交互的话,就是五个模块了。 整体流程大概是:A打电话给B,A声音通过MIC被采集成PCM原始数据,然后经过编码压缩,再通过网络(建立P2P连接)将编码后的数据传输出去;B端通过网络收到数据后进行解码处理,然后调用播放模块,进行播放数据。 一、语音采集模块 An...
阅读全文
摘要:AudioRecord和AudioTrack类是Android获取和播放音频流的重要类,放置在android.media包中。与该包中的MediaRecorder和MediaPlayer类不同,AudioRecord和AudioTrack类在获取和播放音频数据流时无需通过文件保存和文件读取,可以动态地直接获取和播放音频流,在实时处理音频数据流时非常有用。 当然,如果用户只想录音后写入文件或从文件中取得音频流进行播放,那么直接使用MediaRecorder和MediaPlayer类是首选方案,因为这两个类使用非常方便,而且成功率很高。而AudioRecord和AudioTrack类的使用却比较.
阅读全文
摘要:public class Audio_Record extends Activity {private static final int RECORDER_SAMPLERATE = 8000;private static final int RECORDER_CHANNELS = AudioFormat.CHANNEL_IN_MONO;private static final int RECORDER_AUDIO_ENCODING = AudioFormat.ENCODING_PCM_16BIT;private AudioRecord recorder = null;private Threa
阅读全文
摘要:private void mixSound() throws IOException { AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, 44100, AudioFormat.CHANNEL_OUT_STEREO, AudioFormat.ENCODING_PCM_16BIT, 44100, AudioTrack.MODE_STREAM); InputStream in1=getResources().openRawResource(R.raw.track1); InputStre...
阅读全文