📄 datalineinfogui.java
字号:
import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;import javax.swing.border.*;import javax.sound.sampled.*;public class DataLineInfoGUI extends JPanel { PCMFilePlayer player; JButton startButton; public DataLineInfoGUI (File f) { super(); try { player = new PCMFilePlayer (f); } catch (Exception ioe) { add (new JLabel ("Error: " + ioe.getMessage())); return; } DataLine line = player.getLine(); // layout // line 1: name setLayout (new BoxLayout (this, BoxLayout.Y_AXIS)); add (new JLabel ("File: " + player.getFile().getName())); // line 2: levels add (new DataLineLevelMeter (line)); // line 3: format info as textarea AudioFormat format = line.getFormat(); JTextArea ta = new JTextArea(); ta.setBorder (new TitledBorder ("Format")); ta.append ("Encoding: " + format.getEncoding().toString() + "\n"); ta.append ("Bits/sample: " + format.getSampleSizeInBits() + "\n"); ta.append ("Channels: " + format.getChannels() + "\n"); ta.append ("Endianness: " + (format.isBigEndian() ? " big " : "little") + "\n"); ta.append ("Frame size: " + format.getFrameSize() + "\n"); ta.append ("Frame rate: " + format.getFrameRate() + "\n"); add (ta); // now start playing player.start(); } public static void main (String[] args) { JFileChooser chooser = new JFileChooser(); chooser.showOpenDialog(null); File file = chooser.getSelectedFile(); DataLineInfoGUI demo = new DataLineInfoGUI (file); JFrame f = new JFrame ("JavaSound info"); f.getContentPane().add (demo); f.pack(); f.setVisible(true); } class DataLineLevelMeter extends JPanel { DataLine line; float level = 0.0f; public DataLineLevelMeter (DataLine l) { line = l; Timer timer = new Timer (50, new ActionListener (){ public void actionPerformed (ActionEvent e) { level = line.getLevel(); repaint(); } }); timer.start(); } public void paint (Graphics g) { Dimension d = getSize(); g.setColor (Color.green); int meterWidth = (int) (level * (float) d.width); g.fillRect (0, 0, meterWidth, d.height); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -