Search in sources :

Example 41 with AudioRecord

use of android.media.AudioRecord in project android_frameworks_base by crdroidandroid.

the class MediaAudioEffectTest method getAudioRecord.

//-----------------------------------------------------------------
// 1 - constructor
//----------------------------------
private AudioRecord getAudioRecord() {
    AudioRecord ar = null;
    try {
        ar = new AudioRecord(MediaRecorder.AudioSource.DEFAULT, SAMPLING_RATE, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, AudioRecord.getMinBufferSize(SAMPLING_RATE, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT) * 10);
        assertNotNull("Could not create AudioRecord", ar);
        assertEquals("AudioRecord not initialized", AudioRecord.STATE_INITIALIZED, ar.getState());
    } catch (IllegalArgumentException e) {
        fail("AudioRecord invalid parameter");
    }
    return ar;
}
Also used : AudioRecord(android.media.AudioRecord)

Example 42 with AudioRecord

use of android.media.AudioRecord in project android_frameworks_base by crdroidandroid.

the class MediaAudioEffectTest method test1_0ConstructorFromType.

//Test case 1.0: test constructor from effect type and get effect ID
@LargeTest
public void test1_0ConstructorFromType() throws Exception {
    boolean result = true;
    String msg = "test1_0ConstructorFromType()";
    AudioEffect.Descriptor[] desc = AudioEffect.queryEffects();
    assertTrue(msg + ": no effects found", (desc.length != 0));
    try {
        int sessionId;
        AudioRecord ar = null;
        if (AudioEffect.EFFECT_PRE_PROCESSING.equals(desc[0].connectMode)) {
            ar = getAudioRecord();
            sessionId = ar.getAudioSessionId();
        } else {
            sessionId = 0;
        }
        AudioEffect effect = new AudioEffect(desc[0].type, AudioEffect.EFFECT_TYPE_NULL, 0, sessionId);
        assertNotNull(msg + ": could not create AudioEffect", effect);
        try {
            assertTrue(msg + ": invalid effect ID", (effect.getId() != 0));
        } catch (IllegalStateException e) {
            msg = msg.concat(": AudioEffect not initialized");
            result = false;
        } finally {
            effect.release();
            if (ar != null) {
                ar.release();
            }
        }
    } catch (IllegalArgumentException e) {
        msg = msg.concat(": Effect not found: " + desc[0].name);
        result = false;
    } catch (UnsupportedOperationException e) {
        msg = msg.concat(": Effect library not loaded");
        result = false;
    }
    assertTrue(msg, result);
}
Also used : AudioRecord(android.media.AudioRecord) AssetFileDescriptor(android.content.res.AssetFileDescriptor) AudioEffect(android.media.audiofx.AudioEffect) LargeTest(android.test.suitebuilder.annotation.LargeTest)

Example 43 with AudioRecord

use of android.media.AudioRecord in project snips-platform-android-demo by snipsco.

the class MainActivity method runStreaming.

private void runStreaming() {
    Log.d(TAG, "starting audio streaming");
    final int minBufferSizeInBytes = AudioRecord.getMinBufferSize(FREQUENCY, CHANNEL, ENCODING);
    Log.d(TAG, "minBufferSizeInBytes: " + minBufferSizeInBytes);
    recorder = new AudioRecord(MediaRecorder.AudioSource.MIC, FREQUENCY, CHANNEL, ENCODING, minBufferSizeInBytes);
    recorder.startRecording();
    while (continueStreaming) {
        short[] buffer = new short[minBufferSizeInBytes / 2];
        recorder.read(buffer, 0, buffer.length);
        if (client != null) {
            client.sendAudioBuffer(buffer);
        }
    }
    recorder.stop();
    Log.d(TAG, "audio streaming stopped");
}
Also used : AudioRecord(android.media.AudioRecord)

Example 44 with AudioRecord

use of android.media.AudioRecord in project summer-android by cn-cerc.

the class AudioRecorderUtils method createDefaultAudio.

public void createDefaultAudio(String fileName) {
    this.fileName = fileName;
    this.status = Status.STATUS_READY;
    // 获得缓冲区字节大小
    bufferSizeInBytes = AudioRecord.getMinBufferSize(AUDIO_SAMPLE_RATE, AUDIO_CHANNEL, AUDIO_ENCODING);
    audioRecord = new AudioRecord(AUDIO_INPUT, AUDIO_SAMPLE_RATE, AUDIO_CHANNEL, AUDIO_ENCODING, bufferSizeInBytes);
}
Also used : AudioRecord(android.media.AudioRecord)

Example 45 with AudioRecord

use of android.media.AudioRecord in project summer-android by cn-cerc.

the class AudioRecorderUtils method createAudio.

public void createAudio(String fileName, int audioSource, int sampleRateInHz, int channelConfig, int audioFormat) {
    this.fileName = fileName;
    // 获得缓冲区字节大小
    bufferSizeInBytes = AudioRecord.getMinBufferSize(sampleRateInHz, channelConfig, channelConfig);
    audioRecord = new AudioRecord(audioSource, sampleRateInHz, channelConfig, audioFormat, bufferSizeInBytes);
}
Also used : AudioRecord(android.media.AudioRecord)

Aggregations

AudioRecord (android.media.AudioRecord)64 Test (org.junit.Test)22 AudioRecordSource (org.robolectric.shadows.ShadowAudioRecord.AudioRecordSource)13 AssetFileDescriptor (android.content.res.AssetFileDescriptor)12 AudioEffect (android.media.audiofx.AudioEffect)12 LargeTest (android.test.suitebuilder.annotation.LargeTest)12 Config (org.robolectric.annotation.Config)12 AudioFormat (android.media.AudioFormat)6 SystemApi (android.annotation.SystemApi)5 ByteBuffer (java.nio.ByteBuffer)4 SuppressLint (android.annotation.SuppressLint)1 MediaFormat (android.media.MediaFormat)1 MediaRecorder (android.media.MediaRecorder)1 Handler (android.os.Handler)1 RequiresPermission (androidx.annotation.RequiresPermission)1 AudioDispatcher (be.tarsos.dsp.AudioDispatcher)1 TarsosDSPAudioFormat (be.tarsos.dsp.io.TarsosDSPAudioFormat)1 TarsosDSPAudioInputStream (be.tarsos.dsp.io.TarsosDSPAudioInputStream)1 BufferData (com.libra.sinvoice.Buffer.BufferData)1 ActorCreator (im.actor.runtime.actors.ActorCreator)1