Package uk.co.caprica.vlcj.test.factory

Source Code of uk.co.caprica.vlcj.test.factory.EqualizerCapabilityTest

/*
* This file is part of VLCJ.
*
* VLCJ is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* VLCJ is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with VLCJ.  If not, see <http://www.gnu.org/licenses/>.
*
* Copyright 2009, 2010, 2011, 2012, 2013, 2014 Caprica Software Limited.
*/

package uk.co.caprica.vlcj.test.factory;

import java.util.List;
import java.util.Map;

import uk.co.caprica.vlcj.player.Equalizer;
import uk.co.caprica.vlcj.player.MediaPlayerFactory;
import uk.co.caprica.vlcj.test.VlcjTest;

/**
* Test of the static equalizer preset data provided by the media player factory.
*/
public class EqualizerCapabilityTest extends VlcjTest {

    public static void main(String[] args) {
        MediaPlayerFactory factory = new MediaPlayerFactory();

        if(!factory.isEqualizerAvailable()) {
            System.out.println("Equalizer not available on this platform");
            System.exit(0);
        }

        System.out.println("Preset names:");
        List<String> presetNames = factory.getEqualizerPresetNames();
        for(String presetName : presetNames) {
            System.out.printf(" %s%n", presetName);
        }
        System.out.println();

        System.out.println("Band frequencies:");
        List<Float> bandFrequencies = factory.getEqualizerBandFrequencies();
        for(Float freq : bandFrequencies) {
            System.out.printf(" %f Hz%n", freq);
        }
        System.out.println();

        // You can get individual presets by name, or get them all in one call as is done here...

        Map<String, Equalizer> allPresets = factory.getAllPresetEqualizers();
        for(String presetName : allPresets.keySet()) {
            System.out.printf("%s:%n", presetName);
            Equalizer preset = allPresets.get(presetName);
            System.out.printf("%10s : %f Hz%n", "preamp", preset.getPreamp());
            float[] amps = preset.getAmps();
            for(int i = 0; i < amps.length; i++) {
                float freq = bandFrequencies.get(i);
                String unit;
                if(freq < 1000f) {
                    unit = "Hz";
                }
                else {
                    freq = freq / 1000f;
                    unit = "kHz";
                }
                System.out.printf("%7.0f %-3s: %f Hz%n", freq, unit, amps[i]);
            }
            System.out.println();
        }
    }
}
TOP

Related Classes of uk.co.caprica.vlcj.test.factory.EqualizerCapabilityTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.