当前位置: 首页>>代码示例>>Java>>正文


Java AutomaticGainControl类代码示例

本文整理汇总了Java中android.media.audiofx.AutomaticGainControl的典型用法代码示例。如果您正苦于以下问题:Java AutomaticGainControl类的具体用法?Java AutomaticGainControl怎么用?Java AutomaticGainControl使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


AutomaticGainControl类属于android.media.audiofx包,在下文中一共展示了AutomaticGainControl类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: checkthingsforrecoder

import android.media.audiofx.AutomaticGainControl; //导入依赖的package包/类
private void checkthingsforrecoder() {
    int audioSessionId = getAudioSessionId();

    if(NoiseSuppressor.isAvailable())
    {
      //  NoiseSuppressor.create(audioSessionId);
    }
    if(AutomaticGainControl.isAvailable())
    {
       // AutomaticGainControl.create(audioSessionId);
    }
    if(AcousticEchoCanceler.isAvailable()){
       // AcousticEchoCanceler.create(audioSessionId);
    }
}
 
开发者ID:raj10071997,项目名称:Alexa-Voice-Service,代码行数:16,代码来源:RecordAudioinBytes.java

示例2: RawAudioRecorder

import android.media.audiofx.AutomaticGainControl; //导入依赖的package包/类
/**
 * <p>Instantiates a new recorder and sets the state to INITIALIZING.
 * In case of errors, no exception is thrown, but the state is set to ERROR.</p>
 *
 * <p>Android docs say: 44100Hz is currently the only rate that is guaranteed to work on all devices,
 * but other rates such as 22050, 16000, and 11025 may work on some devices.</p>
 *
 * @param audioSource Identifier of the audio source (e.g. microphone)
 * @param sampleRate Sample rate (e.g. 16000)
 */
public RawAudioRecorder(int audioSource, int sampleRate) {
	mSampleRate = sampleRate;
	// E.g. 1 second of 16kHz 16-bit mono audio takes 32000 bytes.
	mOneSec = RESOLUTION_IN_BYTES * CHANNELS * mSampleRate;
	mRecording = new byte[mOneSec * MAX_RECORDING_TIME_IN_SECS];
	try {
		setBufferSizeAndFramePeriod();


		mRecorder = new AudioRecord(audioSource, mSampleRate, AudioFormat.CHANNEL_IN_MONO, RESOLUTION, mBufferSize);
		if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
			boolean agcAvailable = AutomaticGainControl.isAvailable();
			if(agcAvailable) {
                   AutomaticGainControl.create(mRecorder.getAudioSessionId());
               }
		}

		if (mRecorder.getState() != AudioRecord.STATE_INITIALIZED) {
			throw new Exception("AudioRecord initialization failed");
		}
		mBuffer = new byte[mFramePeriod * RESOLUTION_IN_BYTES * CHANNELS];
		setState(State.READY);
	} catch (Exception e) {
		release();
		setState(State.ERROR);
		if (e.getMessage() == null) {
			Log.e(LOG_TAG, "Unknown error occured while initializing recording");
		} else {
			Log.e(LOG_TAG, e.getMessage());
		}
	}
}
 
开发者ID:suelensilva,项目名称:KaldiAndroid,代码行数:43,代码来源:RawAudioRecorder.java

示例3: enableAutoGainControl

import android.media.audiofx.AutomaticGainControl; //导入依赖的package包/类
public void enableAutoGainControl() {
  if (AutomaticGainControl.isAvailable() && automaticGainControl == null) {
    automaticGainControl = AutomaticGainControl.create(microphoneId);
    automaticGainControl.setEnabled(true);
    Log.i(TAG, "AutoGainControl enabled");
  } else {
    Log.e(TAG, "This device don't support AutoGainControl");
  }
}
 
开发者ID:pedroSG94,项目名称:rtmp-rtsp-stream-client-java,代码行数:10,代码来源:AudioPostProcessEffect.java

示例4: SpeechRecord

import android.media.audiofx.AutomaticGainControl; //导入依赖的package包/类
public SpeechRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes,
                    boolean noise, boolean gain, boolean echo)
        throws IllegalArgumentException {

    super(audioSource, sampleRateInHz, channelConfig, audioFormat, bufferSizeInBytes);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
        Log.i("Trying to enhance audio because running on SDK " + Build.VERSION.SDK_INT);

        int audioSessionId = getAudioSessionId();

        if (noise) {
            if (NoiseSuppressor.create(audioSessionId) == null) {
                Log.i("NoiseSuppressor: failed");
            } else {
                Log.i("NoiseSuppressor: ON");
            }
        } else {
            Log.i("NoiseSuppressor: OFF");
        }

        if (gain) {
            if (AutomaticGainControl.create(audioSessionId) == null) {
                Log.i("AutomaticGainControl: failed");
            } else {
                Log.i("AutomaticGainControl: ON");
            }
        } else {
            Log.i("AutomaticGainControl: OFF");
        }

        if (echo) {
            if (AcousticEchoCanceler.create(audioSessionId) == null) {
                Log.i("AcousticEchoCanceler: failed");
            } else {
                Log.i("AcousticEchoCanceler: ON");
            }
        } else {
            Log.i("AcousticEchoCanceler: OFF");
        }
    }
}
 
开发者ID:Kaljurand,项目名称:speechutils,代码行数:43,代码来源:SpeechRecord.java

示例5: setEnhancers

import android.media.audiofx.AutomaticGainControl; //导入依赖的package包/类
/**
 * Attempt to set enhancers available on modern devices.
 * <p/>
 * These are hardware dependent, not build version. Although the APIs weren't available to
 * devices until API Level 16
 */
@SuppressWarnings("NewApi")
private void setEnhancers(final int sessionId) {

    if (!DEBUG) {
        NoiseSuppressor.create(sessionId);
        AcousticEchoCanceler.create(sessionId);
        AutomaticGainControl.create(sessionId);
    } else {
        if (NoiseSuppressor.create(sessionId) == null) {
            MyLog.i(CLS_NAME, "NoiseSuppressor null");
        } else {
            MyLog.i(CLS_NAME, "NoiseSuppressor success");
        }

        if (AcousticEchoCanceler.create(sessionId) == null) {
            MyLog.i(CLS_NAME, "AcousticEchoCanceler null");
        } else {
            MyLog.i(CLS_NAME, "AcousticEchoCanceler success");
        }

        if (AutomaticGainControl.create(sessionId) == null) {
            MyLog.i(CLS_NAME, "AutomaticGainControl null");
        } else {
            MyLog.i(CLS_NAME, "AutomaticGainControl success");
        }
    }
}
 
开发者ID:brandall76,项目名称:Saiy-PS,代码行数:34,代码来源:SaiyAudio.java


注:本文中的android.media.audiofx.AutomaticGainControl类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。