Java Code Examples for android.media.AudioFormat#CHANNEL_OUT_DEFAULT
The following examples show how to use
android.media.AudioFormat#CHANNEL_OUT_DEFAULT .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: AudioTrackPlayerImpl.java From dcs-sdk-java with Apache License 2.0 | 6 votes |
private int getMinBufferSize(int sampleRate, int channelConfig, int audioFormat) { minBufferSize = AudioTrack.getMinBufferSize(sampleRate, channelConfig, audioFormat); // 解决异常IllegalArgumentException: Invalid audio buffer size int channelCount = 1; switch (channelConfig) { // AudioFormat.CHANNEL_CONFIGURATION_DEFAULT case AudioFormat.CHANNEL_OUT_DEFAULT: case AudioFormat.CHANNEL_OUT_MONO: case AudioFormat.CHANNEL_CONFIGURATION_MONO: channelCount = 1; break; case AudioFormat.CHANNEL_OUT_STEREO: case AudioFormat.CHANNEL_CONFIGURATION_STEREO: channelCount = 2; break; default: channelCount = Integer.bitCount(channelConfig); } // 判断minBufferSize是否在范围内,如果不在设定默认值为1152 int frameSizeInBytes = channelCount * (audioFormat == AudioFormat.ENCODING_PCM_8BIT ? 1 : 2); if ((minBufferSize % frameSizeInBytes != 0) || (minBufferSize < 1)) { minBufferSize = 1152; } return minBufferSize; }
Example 2
Source File: MediaCodecBridge.java From 365browser with Apache License 2.0 | 6 votes |
@SuppressWarnings("deprecation") private int getAudioFormat(int channelCount) { switch (channelCount) { case 1: return AudioFormat.CHANNEL_OUT_MONO; case 2: return AudioFormat.CHANNEL_OUT_STEREO; case 4: return AudioFormat.CHANNEL_OUT_QUAD; case 6: return AudioFormat.CHANNEL_OUT_5POINT1; case 8: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { return AudioFormat.CHANNEL_OUT_7POINT1_SURROUND; } else { return AudioFormat.CHANNEL_OUT_7POINT1; } default: return AudioFormat.CHANNEL_OUT_DEFAULT; } }
Example 3
Source File: AudioPlayback.java From MediaPlayer-Extended with Apache License 2.0 | 4 votes |
/** * Initializes or reinitializes the audio track with the supplied format for playback * while keeping the playstate. Keeps the current configuration and skips reinitialization * if the new format is the same as the current format. */ public void init(MediaFormat format) { Log.d(TAG, "init"); boolean playing = false; if(isInitialized()) { if(!checkIfReinitializationRequired(format)) { // Set new format that equals the old one (in case we compare references somewhere) mAudioFormat = format; return; } playing = isPlaying(); pause(); stopAndRelease(false); } else { // deferred creation of the audio thread until its first use mAudioThread = new AudioThread(); mAudioThread.setPaused(true); mAudioThread.start(); } mAudioFormat = format; int channelCount = format.getInteger(MediaFormat.KEY_CHANNEL_COUNT); int bytesPerSample = 2; mFrameSize = bytesPerSample * channelCount; mSampleRate = format.getInteger(MediaFormat.KEY_SAMPLE_RATE); int channelConfig = AudioFormat.CHANNEL_OUT_DEFAULT; switch(channelCount) { case 1: channelConfig = AudioFormat.CHANNEL_OUT_MONO; break; case 2: channelConfig = AudioFormat.CHANNEL_OUT_STEREO; break; case 4: channelConfig = AudioFormat.CHANNEL_OUT_QUAD; break; case 6: channelConfig = AudioFormat.CHANNEL_OUT_5POINT1; break; case 8: channelConfig = AudioFormat.CHANNEL_OUT_7POINT1; } mPlaybackBufferSize = mFrameChunkSize * channelCount; mAudioTrack = new AudioTrack( mAudioStreamType, mSampleRate, channelConfig, AudioFormat.ENCODING_PCM_16BIT, mPlaybackBufferSize, // at least twice the size to enable double buffering (according to docs) AudioTrack.MODE_STREAM, mAudioSessionId); if(mAudioTrack.getState() != AudioTrack.STATE_INITIALIZED) { stopAndRelease(); throw new IllegalStateException("audio track init failed"); } mAudioSessionId = mAudioTrack.getAudioSessionId(); mAudioStreamType = mAudioTrack.getStreamType(); setStereoVolume(mVolumeLeft, mVolumeRight); mPresentationTimeOffsetUs = PTS_NOT_SET; if(playing) { play(); } }