Arkadaşlar merhaba Audiorocerd Kullanıyorum ama kulaklık taktığımda ses yankılı gidiyor kulaklığı çıkardığımda tamamen bozuluyor ses
if (NoiseSuppressor.isAvailable()) {
NoiseSuppressor.create(recorder.getAudioSessionId()).setEnabled(true);
}if (AcousticEchoCanceler.isAvailable()) {
AcousticEchoCanceler.create(recorder.getAudioSessionId()).setEnabled(true);
} Bunları denedim olmadı kodlarım aşağıdaki gibi yardım eden olursa çok sevinirim
private AudioRecord recorder;private int SAMPLE_RATE = 44100; // 44100 for music
private int CHANNEL_CONFIG = AudioFormat.CHANNEL_CONFIGURATION_MONO;
private int AUDIO_FORMAT = AudioFormat.ENCODING_PCM_16BIT;
private int MIN_BUFFER_SIZE = AudioRecord.getMinBufferSize(SAMPLE_RATE, CHANNEL_CONFIG, AUDIO_FORMAT);
recorder = new AudioRecord(MediaRecorder.AudioSource.MIC, SAMPLE_RATE, CHANNEL_CONFIG, AUDIO_FORMAT, MIN_BUFFER_SIZE);
public void startStreaming(){
isRecording = true;
Thread streamThread = new Thread(() -> {
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_AUDIO);
try {
byte[] audioBuff = new byte[MIN_BUFFER_SIZE];
recorder.startRecording();
while (isRecording ==true) {
// mikrofon into buffer
MIN_BUFFER_SIZE = recorder.read(audioBuff, 0, audioBuff.length);
socket.emit("audio-data", (Object) audioBuff,"www");
//Client.Message = audioBuff;
// Client.NachrichtSenden();
// Log.i("deno", String.valueOf((Object) audioBuff));
}
} catch (Exception e) {
e.printStackTrace();
}
});
streamThread.start();
}
private void playdata(byte[] mp3SoundByteArray) {
final AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC,
SAMPLE_RATE, AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT, mp3SoundByteArray.length,
AudioTrack.MODE_STATIC);
audioTrack.write(mp3SoundByteArray, 0, mp3SoundByteArray.length);
audioTrack.play();
}