@Override public void writeSamples (float[] samples, int offset, int numSamples) { if (buffer.length < samples.length) buffer = new short[samples.length]; int bound = offset + numSamples; for (int i = offset, j = 0; i < bound; i++, j++) { float fValue = samples[i]; if (fValue > 1) fValue = 1; if (fValue < -1) fValue = -1; short value = (short)(fValue * Short.MAX_VALUE); buffer[j] = value; } int writtenSamples = track.write(buffer, 0, numSamples); while (writtenSamples != numSamples) writtenSamples += track.write(buffer, writtenSamples, numSamples - writtenSamples); }
@Override public void writeSamples (float[] samples, int offset, int numSamples) { if (buffer.length < samples.length) buffer = new short[samples.length]; int bound = offset + numSamples; for (int i = offset, j = 0; i < bound; i++, j++) { float fValue = samples[i]; if (fValue > 1) fValue = 1; if (fValue < -1) fValue = -1; short value = (short)(fValue * Short.MAX_VALUE); buffer[j] = value; } int writtenSamples = track.write(buffer, 0, numSamples); while (writtenSamples != numSamples) writtenSamples += track.write(buffer, writtenSamples, numSamples - writtenSamples); }
@TargetApi(21) private static int writeNonBlockingV21(AudioTrack audioTrack, ByteBuffer buffer, int size) { return audioTrack.write(buffer, size, WRITE_NON_BLOCKING); }
int result = audioTrack.write(avSyncHeader, avSyncHeaderBytesRemaining, WRITE_NON_BLOCKING); if (result < 0) { bytesUntilNextAvSync = 0;
if (bytesToWrite > 0) { bytesToWrite = Math.min(bytesRemaining, bytesToWrite); bytesWritten = audioTrack.write(preV21OutputBuffer, preV21OutputBufferOffset, bytesToWrite); if (bytesWritten > 0) { preV21OutputBufferOffset += bytesWritten;
AudioFormat.ENCODING_PCM_16BIT, (int)numSamples*2, AudioTrack.MODE_STATIC); audioTrack.write(generatedSnd, 0, generatedSnd.length); // Load the track
AudioFormat.ENCODING_PCM_16BIT, generatedSnd.length, AudioTrack.MODE_STATIC); audioTrack.write(generatedSnd, 0, generatedSnd.length); audioTrack.play();
AudioFormat.ENCODING_PCM_16BIT, numSamples, AudioTrack.MODE_STATIC); audioTrack.write(generatedSnd, 0, generatedSnd.length); audioTrack.play();
short[] buffer = buffers[ix++ % buffers.length]; N = recorder.read(buffer,0,buffer.length); track.write(buffer, 0, buffer.length);
public void write(short[] buffer) { /* write buffer to audioTrack */ audioTrack.write(buffer, 0, buffer.length); }
private void audioTrackWrite(byte[] audioData, int offsetInBytes, int sizeInBytes) { if (mAudioTrack != null && mAudioTrack.getPlayState() == AudioTrack.PLAYSTATE_PLAYING) { int written; while (sizeInBytes > 0) { written = sizeInBytes > mAudioTrackBufferSize ? mAudioTrackBufferSize : sizeInBytes; mAudioTrack.write(audioData, offsetInBytes, written); sizeInBytes -= written; offsetInBytes += written; } } }
@WorkerThread public synchronized boolean play(byte[] data, int size) { if (mAudioTrack != null) { try { int ret = mAudioTrack.write(data, 0, size); switch (ret) { case AudioTrack.ERROR_INVALID_OPERATION: Log.w(TAG, "play fail: ERROR_INVALID_OPERATION"); return false; case AudioTrack.ERROR_BAD_VALUE: Log.w(TAG, "play fail: ERROR_BAD_VALUE"); return false; case AudioManager.ERROR_DEAD_OBJECT: Log.w(TAG, "play fail: ERROR_DEAD_OBJECT"); return false; default: return true; } } catch (IllegalStateException e) { Log.w(TAG, "play fail: " + e.getMessage()); return false; } } Log.w(TAG, "play fail: null mAudioTrack"); return false; }
m_audioTrack.write(noiseData, 0, noiseData.length);
AudioFormat.ENCODING_PCM_16BIT, numSamples, AudioTrack.MODE_STATIC); audioTrack.write(generatedSnd, 0, generatedSnd.length); audioTrack.play();
@Override public void inputPCMData(byte[] buffer, int size) { if (audioTrackPlayer != null) audioTrackPlayer.write(buffer, 0, size); audioEncoder.inputPCMData(buffer, size); } }
private void audioTrackWrite(byte[] audioData, int offsetInBytes, int sizeInBytes) { if (mAudioTrack != null && mAudioTrack.getPlayState() == AudioTrack.PLAYSTATE_PLAYING) { int written; while (sizeInBytes > 0) { written = sizeInBytes > mAudioTrackBufferSize ? mAudioTrackBufferSize : sizeInBytes; mAudioTrack.write(audioData, offsetInBytes, written); sizeInBytes -= written; offsetInBytes += written; } } }
private void audioTrackWrite(byte[] audioData, int offsetInBytes, int sizeInBytes) { if (mAudioTrack != null) { audioTrackStart(); int written; while (sizeInBytes > 0) { written = sizeInBytes > mAudioTrackBufferSize ? mAudioTrackBufferSize : sizeInBytes; mAudioTrack.write(audioData, offsetInBytes, written); sizeInBytes -= written; offsetInBytes += written; } } }
private void audioTrackWrite(byte[] audioData, int offsetInBytes, int sizeInBytes) { if (mAudioTrack != null && mAudioTrack.getPlayState() == AudioTrack.PLAYSTATE_PLAYING) { int written; while (sizeInBytes > 0) { written = sizeInBytes > mAudioTrackBufferSize ? mAudioTrackBufferSize : sizeInBytes; mAudioTrack.write(audioData, offsetInBytes, written); sizeInBytes -= written; offsetInBytes += written; } } }