rlm@9
|
1 package com.aurellem.capture.audio;
|
rlm@9
|
2
|
rlm@9
|
3 import java.nio.ByteBuffer;
|
rlm@9
|
4
|
rlm@30
|
5 import javax.sound.sampled.AudioFormat;
|
rlm@30
|
6
|
rlm@9
|
7 public interface SoundProcessor {
|
rlm@9
|
8
|
rlm@39
|
9 /**
|
rlm@65
|
10 * Called when the SoundProcessor is being destroyed, and there
|
rlm@65
|
11 * are no more samples to process. This happens at the latest
|
rlm@65
|
12 * when the Application is shutting down.
|
rlm@39
|
13 */
|
rlm@39
|
14 void cleanup();
|
rlm@9
|
15
|
rlm@39
|
16 /**
|
rlm@39
|
17 *
|
rlm@39
|
18 * Called whenever there are new audio samples to process. The
|
rlm@39
|
19 * audioSamples ByteBuffer contains 3D audio data rendered by
|
rlm@39
|
20 * OpenAL.
|
rlm@39
|
21 *
|
rlm@39
|
22 * @param audioSamples a ByteBuffer containing processed audio
|
rlm@39
|
23 * samples
|
rlm@65
|
24 * @param numSamples the number of samples, in bytes, that are
|
rlm@65
|
25 * valid
|
rlm@39
|
26 * @param format the format of the audio samples in audioSamples
|
rlm@39
|
27 */
|
rlm@39
|
28 void process(ByteBuffer audioSamples, int numSamples, AudioFormat format);
|
rlm@9
|
29
|
rlm@9
|
30 }
|