I am using The Visualizer to draw a Visualization of a Sound File that I am Playing. The sound wave is displaying, however I would like to make it less detailed, as it has an effect on my frame-rate. There is very limited documentation for this. So I have attempted to do the following:
mVisualizer.setCaptureSize(2);
To set the capture rate to a very low value. However, it appears that the line is being drawn with the same amount of detail. I have read in the documentation that:
Sets the capture size, i.e. the number of bytes returned by getWaveForm(byte[]) and getFft(byte[]) methods.
Another issue that I have, is that I would like to detect sounds with a high energy level in the sound File that I am playing so I can visually represent them on the screen. For example: The screen flashes along with the baseline. Here is what I have so far:
public static void setupVisualizer() {
mVisualizer = new Visualizer(mpSong.getAudioSessionId());
mVisualizer.setCaptureSize(Visualizer.getCaptureSizeRange()[1]);
mVisualizer.setDataCaptureListener(
new Visualizer.OnDataCaptureListener() {
public void onWaveFormDataCapture(Visualizer visualizer,
byte[] bytes, int samplingRate) {
Game.updateVisualizer(bytes);
}
public void onFftDataCapture(Visualizer visualizer,
byte[] bytes, int samplingRate) {
}
}, Visualizer.getMaxCaptureRate() / 2, true, false);
}
Is it possible to detect certain sounds inside this listener? Or what are the alternatives? Sorry for my bad english. Thank you very much for your time friends.
Aucun commentaire:
Enregistrer un commentaire