improved audio data structure, started work on analysis page
This commit is contained in:
15
core/src/zero1hd/polyjet/audio/Audio.java
Executable file
15
core/src/zero1hd/polyjet/audio/Audio.java
Executable file
@@ -0,0 +1,15 @@
|
||||
package zero1hd.polyjet.audio;
|
||||
|
||||
import com.badlogic.gdx.files.FileHandle;
|
||||
|
||||
public class Audio {
|
||||
public static AudioData getAudioData(FileHandle file) {
|
||||
if (file.extension().equalsIgnoreCase("wav")) {
|
||||
return new WavAudioData(file);
|
||||
} else if (file.extension().equalsIgnoreCase("mp3")) {
|
||||
return new Mp3AudioData(file);
|
||||
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
@@ -21,6 +21,12 @@ public class Mp3AudioData implements AudioData {
|
||||
private Music playbackMusic;
|
||||
private int readIndex;
|
||||
|
||||
|
||||
public Mp3AudioData(FileHandle setAudio) {
|
||||
setAudioFile(setAudio);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void readIndexUpdate() {
|
||||
readIndex = (int) (playbackMusic.getPosition() * audioFormat.getSampleRate() / readWindowSize);
|
||||
|
@@ -20,6 +20,10 @@ public class WavAudioData implements AudioData {
|
||||
WavDecoder decoder;
|
||||
WavInfo wavinfo;
|
||||
|
||||
public WavAudioData(FileHandle audioFileHandle) {
|
||||
setAudioFile(audioFileHandle);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readIndexUpdate() {
|
||||
readIndex = (int) (playbackMusic.getPosition() * wavinfo.getSampleRate() / readWindowSize);
|
||||
@@ -35,7 +39,7 @@ public class WavAudioData implements AudioData {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAudioFile(FileHandle audioFileHandler) {
|
||||
public void setAudioFile(FileHandle audioFileHandle) {
|
||||
reset();
|
||||
try {
|
||||
decoder.setAudioFile(wavinfo);
|
||||
@@ -43,7 +47,7 @@ public class WavAudioData implements AudioData {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
playbackMusic = Gdx.audio.newMusic(audioFileHandler);
|
||||
playbackMusic = Gdx.audio.newMusic(audioFileHandle);
|
||||
format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, (float) wavinfo.getSampleRate(), 16, wavinfo.getChannels(), wavinfo.getChannels()*2, (float) wavinfo.getSampleRate(), false);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user