草庐IT

audioRecording

全部标签

android - 由 : java. lang.IllegalStateException: startRecording() called on an uninitialized AudioRecord 引起

我在android2.3.4版本移动设备(LG)中收到类似startrecording()调用未初始化音频记录的错误,它在android2.2中工作正常但在android2.3中抛出错误。 最佳答案 此外,请确保您在AndroidManifest.xml中设置了此权限: 关于android-由:java.lang.IllegalStateException:startRecording()calledonanuninitializedAudioRecord引起,我们在StackOverf

Android AudioRecord 和 MediaRecorder

我正在开发一个音频处理应用程序,我需要在其中录制音频,然后对其进行处理以获得该录音的功能。但是,我想要可播放格式的音频,以便在使用MediaPlayer后播放。我发现要录制音频以对其进行处理,最好使用AudioRecord,因为我可以从那里获取原始音频。但是我无法将数据写入可播放格式的文件(android中是否有任何库可以执行此操作?)。我用这种方法记录原始数据,然后写入文件:http://andrewbrobinson.com/2011/11/27/capturing-raw-audio-data-in-android/但是当我尝试在设备上播放这个文件时,它无法播放。然后,如果我使用

java - Android:当 SAMPLERATE 设置为 44100 时,startRecording() 在未初始化的 AudioRecord 上调用

当我将AudioRecord对象的采样率设置为44100时出现错误。当它是22050时,它工作正常。02-1610:45:45.09924021-24021/com.vlad.jackcommsE/AudioRecord:frameCount102402-1610:45:45.09924021-24021/com.vlad.jackcommsE/AudioRecord-JNI:创建AudioRecord实例时出错:初始化检查失败。02-1610:45:45.09924021-24021/com.vlad.jackcommsE/android.media.AudioRecord:初始化原

java - 为 audioRecord 实现 getMaxAmplitude

我在我的应用程序中使用audioRecord而不是mediarecorder它工作正常,但我有一个逻辑高度依赖于最大振幅,这真的很难使用audiorecord获得这里是我在读取缓冲区时使用的privatevoidwriteAudioDataToFile(){bytedata[]=newbyte[bufferSize];Stringfilename=getTempFilename();FileOutputStreamos=null;try{os=newFileOutputStream(filename);}catch(FileNotFoundExceptione){//TODOAuto-

android - 当其他应用请求录音时释放 AudioRecord android

我的应用程序中有一个录音服务,可以连续录制声音。所以,它会一直占据AudioRecord。这意味着没有其他应用程序可以使用录音机,因为它已经被该服务占用。有什么方法可以通知其他应用程序正在请求录音机(以便我可以释放它)以及应用程序何时释放它(以便我可以将它分配回服务)? 最佳答案 也许一种可能的方法是创建一个BroadcastReceiver,它从请求控制麦克风源的应用程序接收事件。onReceive()方法应该与服务交互并释放资源。当另一个应用程序完成时,它可以恢复该过程以再次启动该服务。如果您无法控制发出请求的应用程序的行为,我

Android AudioRecord 初始化每次都失败

我的问题很容易解释——我正在尝试创建一个AudioRecord对象,但它无法初始化(即在构造函数之后,getState返回0,表示失败)。我在运行OS2.2.1的MotoDroid1上从Eclipse运行它。据我所知,我的AndroidManifest.xml使用了正确的权限RECORD_AUDIO(我不知道如何确认这一点):我执行以下操作来创建AudioRecord:bufferSize=AudioRecord.getMinBufferSize(8000,CHANNEL_IN_MONO,ENCODING_PCM_8BIT);audioRecorder=newAudioRecord(A

Android Java 音频采集 AudioRecord

在AndroidJava应用中,一般用AudioRecord管理从平台的音频输入设备采集音频数据所需的资源。音频采集和音频播放密切关系,Android系统中JavaAudioRecord和AudioTrack在许多方面,都有着很高的相似性,无论是代码的目录组织,还是整个类的接口设计和实现结构,但它们也有着不小的区别。对比来看JavaAudioRecord和AudioTrack的实现,有助于我们对音频的播放和采集做更好地理解。AudioRecord的Java代码位于frameworks/base/media/java/android/media,它的JNI代码位于frameworks/base/

Android多媒体功能开发(11)——使用AudioRecord类录制音频

AudioRecord类优点是能录制到缓冲区,能够实现边录边播(AudioRecord+AudioTrack)以及对音频的实时处理(如QQ电话)。缺点是输出是PCM格式的原始采集数据,如果直接保存成音频文件,不能够被播放器播放,所以必须用代码实现数据编码以及压缩。使用AudioRecord录音的基本步骤是:确定录音参数、申请缓冲区、创建AudioRecord对象、开始录制、循环读取数据到缓冲区并处理数据、停止录制、释放资源。需要确定的录音参数包括:采样率、声道、格式。申请缓冲区时需要根据录音参数计算最小缓冲区大小。有了缓冲区以后才能创建AudioRecord对象。录制过程中,需要不停地读取采样

Android多媒体功能开发(11)——使用AudioRecord类录制音频

AudioRecord类优点是能录制到缓冲区,能够实现边录边播(AudioRecord+AudioTrack)以及对音频的实时处理(如QQ电话)。缺点是输出是PCM格式的原始采集数据,如果直接保存成音频文件,不能够被播放器播放,所以必须用代码实现数据编码以及压缩。使用AudioRecord录音的基本步骤是:确定录音参数、申请缓冲区、创建AudioRecord对象、开始录制、循环读取数据到缓冲区并处理数据、停止录制、释放资源。需要确定的录音参数包括:采样率、声道、格式。申请缓冲区时需要根据录音参数计算最小缓冲区大小。有了缓冲区以后才能创建AudioRecord对象。录制过程中,需要不停地读取采样

Android AudioRecord 示例

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我正在设计一个Android应用,我需要实现一个AudioRecord类来录制用户的声音。经过一些研究(没有提供足够的信息)和几次失败的尝试,我想知道是否有人可以通过发布一个关于如何使用AudioRecord捕获高质量声音的示例(代码)来帮助我。我真的很感激。谢谢 最佳答案 在这里,我向您发布了一些使用AudioRecordAPI录制优质声音的代码示