android java 录音放大_android AudioRecord录音时调节录音声音的大小

package ycq.testspeek;

import java.io.IOException;

import java.io.OutputStream;

import java.net.InetAddress;

import java.net.Socket;

import android.media.AudioFormat;

import android.media.AudioRecord;

import android.media.MediaRecorder;

import android.os.AsyncTask;

import android.util.Log;

public class RecordTask extends AsyncTask{

private boolean isRecording=true;

private String ip_add;

private int port;

private OutputStream out_audio;

private Socket socket_audio;

private int frequence = 8000; // 录制频率,单位hz.这里的值注意了,写的不好,可能实例化AudioRecord对象的时候,会出错。我开始写成11025就不行。这取决于硬件设备

private int channelConfig = AudioFormat.CHANNEL_CONFIGURATION_MONO;

private int audioEncoding = AudioFormat.ENCODING_PCM_16BIT; // AudioFormat.ENCODING_PCM_16BIT;

priv

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Audio Framework 主要包括三个部分:AudioRecordAudioTrack和MediaPlayer。其中,AudioRecord用于录制音频,AudioTrack用于播放音频,MediaPlayer则是用于同实现音频的播放和录制。 录音的流程: 1. 创建 AudioRecord 对象,通过设置录音参数来初始化。 2. 调用 startRecording() 方法开始录制音频。 3. 不断调用 read() 方法读取录到的音频数据。 4. 将读取到的音频数据写入到 AudioFling 中。 5. 调用 stop() 方法停止录制并释放资源。 下面是具体的示例代码: ``` // 设置录音参数 int audioSource = MediaRecorder.AudioSource.MIC; int sampleRateInHz = 44100; int channelConfig = AudioFormat.CHANNEL_IN_MONO; int audioFormat = AudioFormat.ENCODING_PCM_16BIT; int bufferSizeInBytes = AudioRecord.getMinBufferSize(sampleRateInHz, channelConfig, audioFormat); AudioRecord audioRecord = new AudioRecord(audioSource, sampleRateInHz, channelConfig, audioFormat, bufferSizeInBytes); // 开始录制 audioRecord.startRecording(); // 读取音频数据 byte[] buffer = new byte[bufferSizeInBytes]; int readSize = audioRecord.read(buffer, 0, bufferSizeInBytes); // 写入 AudioFling AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, sampleRateInHz, channelConfig, audioFormat, bufferSizeInBytes, AudioTrack.MODE_STREAM); audioTrack.play(); audioTrack.write(buffer, 0, readSize); // 停止录制 audioRecord.stop(); audioRecord.release(); ``` 以上代码仅为示例,实际使用需要根据实际情况进行参数设置和错误处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值