मैंने ऑडियो बफर बनाने और उसे एक नई कक्षा में भेजने की कोशिश की। इस कक्षा में मैं इस बफर को ऑडियोट्रैकर के साथ खेलूंगा लेकिन यह काम नहीं करता है। मैं समय पर ध्वनि सुन सकता हूं लेकिन ध्वनि एक हेलफैक्ट की तरह है। मेरी गलती के लिए मुझे कोई बुराई नहीं है और इस समस्या का जवाब नहीं मिला। मुझे आशा है कि आप मेरी मदद कर सकते हैं।मैं ऑडियो बफर को सीधे इसे चलाने के लिए कैसे स्थानांतरित कर सकता हूं
public class input {
private static final String TAG = "Aufnahme";
private AudioRecord recorder = null;
private boolean isRecording = false;
private int SAMPLERATE = 8000;
private int CHANNELS = AudioFormat.CHANNEL_CONFIGURATION_MONO;
private int AUDIO_FORMAT = AudioFormat.ENCODING_PCM_16BIT;
private int bufferSize = AudioRecord.getMinBufferSize(SAMPLERATE, CHANNELS,
AUDIO_FORMAT);
private Thread recordingThread = null;
public void startRecording() {
recorder = new AudioRecord(MediaRecorder.AudioSource.MIC, SAMPLERATE,
CHANNELS, AUDIO_FORMAT, bufferSize);
recorder.startRecording();
isRecording = true;
recordingThread = new Thread(new Runnable()
{
public void run() {
writeAudioData();
}
});
recordingThread.start();
}
public void stopRecording() {
isRecording = false;
recorder.stop();
recorder.release();
recorder = null;
recordingThread = null;
}
private void writeAudioData() {
byte data[] = new byte[bufferSize];
while (isRecording) {
recorder.read(data, 0, bufferSize);
send(data);
}
}
private void send(byte[] data) {
int minBufferSize = AudioTrack.getMinBufferSize(8000,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT);
AudioTrack at = new AudioTrack(AudioManager.STREAM_MUSIC, 8000,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT, minBufferSize,
AudioTrack.MODE_STREAM);
at.play();
at.write(data, 0, bufferSize);
at.stop();
at.release();
}
फिक्स पर बधाई! जब आप सक्षम होते हैं, तो कृपया अपने उत्तर को 'स्वीकृत' के रूप में चिह्नित करना सुनिश्चित करें ताकि अन्य आपके समाधान से सीख सकें। चीयर्स ~ –
मैंने बफर आकार और मिनीबफर आकार के साथ खेला और ऑडियो डेटा के वफादार प्लेबैक प्राप्त करने में सक्षम था। मैंने इनपुट बफर को 8192 और आउटपुट 1024 तक तय किया। इसे आगे बढ़ाया जा सकता है लेकिन यह मेरे उद्देश्य को पूरा करता है। मूल कोड के लिए धन्यवाद। यह वांछित के रूप में काम करता है। – axs