Example usage for com.badlogic.gdx.audio.io Mpg123Decoder Mpg123Decoder

List of usage examples for com.badlogic.gdx.audio.io Mpg123Decoder Mpg123Decoder

Introduction

In this page you can find the example usage for com.badlogic.gdx.audio.io Mpg123Decoder Mpg123Decoder.

Prototype

public Mpg123Decoder(FileHandle file) 

Source Link

Document

Opens the given file for mp3 decoding.

Usage

From source file:mobi.shad.s3lib.audio.AudioAnalyzer.java

License:Apache License

public final void load(String fileName) {
    audioFileName = fileName;//from  w w  w  . jav a 2  s.  co  m

    fft = new KissFFT(bufferSize);
    for (int i = 0; i < bufferSize; i++) {
        samples[i] = 0;
        spectrum[i] = 0;
        maxValues[i] = 0;
        topValues[i] = 0;
        top2Values[i] = 0;
        top3Values[i] = 0;
        barValues[i] = 0;
    }

    if (!fileName.equalsIgnoreCase("") && fileName.endsWith(".mp3")) {
        FileHandle fileHandle = S3File.getFileHandle(audioFileName);
        if (fileHandle.exists()) {
            try {
                FileHandle copyFileHeader = S3File.getFileHandle(audioFileName + "/tmp/" + fileHandle.name(),
                        false, true);
                fileHandle.copyTo(copyFileHeader);

                decoder = new Mpg123Decoder(copyFileHeader);
                S3Log.log(TAG,
                        "Play file: " + fileName + " length: " + decoder.getLength() + " position: "
                                + decoder.getPosition() + " rate: " + decoder.getRate() + " channels: "
                                + decoder.getChannels());
                device = Gdx.audio.newAudioDevice(decoder.getRate(), decoder.getChannels() == 1 ? true : false);
                playerRunnable = new PlayerRunnable();
                playbackThread = new Thread(playerRunnable);
                playbackThread.setDaemon(true);
                canPlay = true;
            } catch (Exception ex) {
                S3Log.error(TAG, "Error load mp3 ...", ex);
            }
        } else {
            canPlay = false;
        }
    }
}