`
lht
  • 浏览: 197647 次
  • 来自: 深圳
社区版块
存档分类
最新评论

Android AudioRecord 使用注意事项

 
阅读更多

AudioRecord对象需要在Activity的线程里面创建。读取数据时可以在独立的线程里面进行。否则华为U8800之类手机录音时会出错。

 

	public VoiceRecorder(Tranceiver tx, int sampleRate)
			throws IllegalArgumentException, IllegalStateException {
		this.tx = tx;
		final int bufSize = AudioRecord.getMinBufferSize(sampleRate,
				CHANNEL_CONFIGURATION_MONO, ENCODING_PCM_16BIT);
		this.rec = new AudioRecord(MediaRecorder.AudioSource.MIC, sampleRate,
				CHANNEL_CONFIGURATION_MONO, ENCODING_PCM_16BIT, bufSize);
		rec.startRecording();
	}

	public void run() {
		final byte[] buf = new byte[8 * 1024];
		while (running) {
			int n = rec.read(buf, 0, buf.length);
			if (n < 1)
				continue;
			try {
				tx.send(buf, 0, n);
			} catch (InterruptedException e) {
				Log.w(TAG, e);
			}
		}
		try {
			rec.stop();
		} catch (IllegalStateException e) {
			Log.w(TAG, e);
		}
		rec.release();
	}
 
分享到:
评论
1 楼 hanguoxin 2015-03-05  
您好,我也是华为出错了,别的手机没问题,请问该怎么修改?急……

相关推荐

    android的AudioRecord

    3. 权限管理:使用AudioRecord需要在AndroidManifest.xml中声明`&lt;uses-permission android:name="android.permission.RECORD_AUDIO" /&gt;`权限。 4. 设备兼容性:不同的Android设备可能有不同的音频硬件和驱动,需要...

    Android多媒体功能开发-使用AudioRecord类录制音频的例子

    `AudioRecord`类是Android SDK提供的一个核心API,用于实现低级别的音频录制功能。本文将深入探讨如何使用`AudioRecord`类来录制音频,并提供相关的编程知识。 首先,我们要理解`AudioRecord`类的基本概念。`Audio...

    Android使用AudioRecord、MediaRecorder录制音频

    本文将深入探讨如何使用`AudioRecord`和`MediaRecorder`这两个核心API来实现音频录制,特别是针对PCM和AAC这两种编码格式。 首先,我们要理解PCM( Pulse Code Modulation)和AAC(Advanced Audio Coding)的基本...

    Android提高第十篇之AudioRecord实现.doc

    下面我们将深入探讨AudioRecord的原理、使用方法以及在实际应用中的注意事项。 AudioRecord类主要用于创建一个可以从麦克风获取原始音频数据的对象。它的工作原理是创建一个缓冲区,持续从麦克风读取音频样本并存储...

    AudioRecord.zip

    《Android平台上的AudioRecord详解》 在Android操作系统中,音频处理是移动应用开发的一个重要组成部分。AudioRecord类是Android SDK提供的一种核心API,用于实现低级别的音频数据录制。本文将深入探讨AudioRecord...

    Android蓝牙录音

    博客上的同步内容可能进一步解释了代码的工作原理和注意事项。 需要注意的是,由于蓝牙录音涉及到不同设备间的兼容性和性能问题,实际操作中可能需要针对不同的蓝牙设备进行调试和优化。此外,Android系统版本的...

    AudioRecord-master.zip

    本文将详细探讨如何使用Android的AudioRecord类来实现实时录音,并覆盖到音频编码、压缩、录音动画以及播放功能。 1. **AudioRecord类**: Android系统提供了一个名为AudioRecord的类,用于捕获音频数据。它允许...

    android audio test

    - **注意事项**:提供了关于产品更新、技术支持等方面的重要声明。 ### 四、关键技术解析 #### 1. MSP430F5310单片机 - **特性**:低功耗、高精度的16位RISC架构微控制器。 - **应用领域**:广泛应用于各种低功耗...

    android录音实时监控音量大小

    四、优化与注意事项 1. 音频数据处理可能会消耗大量CPU资源,因此在计算音量时应尽量减少不必要的计算。 2. 为了提高性能,可以考虑使用线程或协程处理录音和UI更新。 3. 为了防止用户无法操作,记得在录音过程中...

    安卓录音按钮

    READ_ME.txt文件可能包含了关于该项目的使用说明和注意事项,如编译环境、依赖库等信息。 通过理解Android Media框架和`AudioRecord`类的工作原理,我们可以轻松地为Android应用添加录音功能。这不仅可以用于创建...

    android 音频录制

    在Android平台上进行音频录制涉及到许多核心技术和组件,包括MediaRecorder、AudioRecord以及音频编码格式等。下面将详细探讨这些知识点。 一、MediaRecorder类 MediaRecorder是Android系统提供用于捕捉多媒体数据...

    android-audio-latency:使用 AudioTrackAudioRecord JavaAPI 和 OpenSL 运行往返延迟测量

    #欢迎使用 audioBenchmark 应用程序! ##在 Apache 2.0 许可下发布。 该软件按原样提供,目前不应作为独立应用程序运行,但与 ... 建筑注意事项: 仅使用 ADT 进行测试(未使用 Android Studio,因为当时不支持 NDK)

    android录制mp3

    实现这一功能的关键在于理解Android的音频框架,特别是`AudioRecord`类和MP3编码库的集成。以下是对这个主题的详细探讨。 ### `AudioRecord` 类 `AudioRecord`是Android SDK提供的一个核心类,它允许开发者从设备...

    AndroidStudio 上编译speex库,进行使用

    编写测试代码,通过Android Studio提供的AudioRecord和AudioTrack类获取麦克风输入并播放解码后的音频。确保在使用Speex前正确设置采样率、通道数和编码格式。 7. **注意事项** - 考虑到不同设备的处理器架构,你...

    Android录制WAV文件

    ### 注意事项 - 录音权限:确保在AndroidManifest.xml中添加了`&lt;uses-permission android:name="android.permission.RECORD_AUDIO" /&gt;`权限。 - 实时保存:由于Android内存限制,不宜一次性读取太多数据,建议边录音...

    Lame4Android源码和示例

    2. **Android音频处理**: 在Android平台上,开发者可以使用AudioRecord类来捕获音频数据,然后通过Lame4Android将这些数据编码为MP3格式。同时,MediaRecorder类也可以用于录制音频,但默认并不支持MP3编码,因此...

    android 音频图,音波图

    四、注意事项 1. 处理音频数据时要注意性能优化,避免阻塞主线程,可能导致应用无响应。 2. 录音和播放都需要申请相应的权限,如`RECORD_AUDIO`和`MODIFY_AUDIO_SETTINGS`。 3. 音频数据的采样率和位深度应与设备的...

    android FFT 获取音频的频率并实时显示

    以上就是使用Android的FFT获取音频频率并实时显示的基本步骤和注意事项。实际应用中可能还需要考虑音频数据的质量、噪声处理、能耗控制等因素,以提供更好的用户体验。希望这些信息对你有所帮助。

    android portaudio 音频库

    本文将深入探讨PortAudio在Android上的应用、编译过程以及使用注意事项。 1. **PortAudio for Android简介** PortAudio在Android上的实现通常涉及到将C语言编写的原始PortAudio源代码与Android NDK(Native ...

Global site tag (gtag.js) - Google Analytics