📄 audioformatpanel.java
字号:
/* * AudioFormtPanel.java * * Created on June 12, 2007, 4:32 PM */package net.sf.fmj.ui.wizards;import javax.media.format.AudioFormat;/** * * @author Ken Larson */public class AudioFormatPanel extends javax.swing.JPanel { /** Creates new form AudioFormtPanel */ public AudioFormatPanel() { initComponents(); } public javax.swing.JComboBox getComboAudioEncoding() { return comboAudioEncoding; } public javax.swing.JComboBox getComboAudioSampleRate() { return comboAudioSampleRate; } public void setAudioFormat(AudioFormat f) { // encoding comboAudioEncoding.setSelectedItem(f.getEncoding()); // disable the controls, since we can't change the format for now comboAudioSampleRate.setEnabled(false); radioAudioChannelsMono.setEnabled(false); radioAudioChannelsStereo.setEnabled(false); radioAudioEndianLittle.setEnabled(false); radioAudioEndianBig.setEnabled(false); radioAudioBitsPerSample8.setEnabled(false); radioAudioBitsPerSample16.setEnabled(false); checkBoxAudioSigned.setEnabled(false); comboAudioSampleRate.setSelectedItem("" + (int) f.getSampleRate()); // TODO: hard-coded trunc to int if (f.getChannels() == 1) radioAudioChannelsMono.setSelected(true); else if (f.getChannels() == 2) radioAudioChannelsStereo.setSelected(true); else throw new IllegalArgumentException(); if (f.getEndian() == AudioFormat.LITTLE_ENDIAN) radioAudioEndianLittle.setSelected(true); else if (f.getEndian() == AudioFormat.BIG_ENDIAN) radioAudioEndianBig.setSelected(true); else { if (f.getSampleSizeInBits() > 8) throw new IllegalArgumentException("Unknown or unspecified endian: " + f.getEndian() + " format: " + f); radioAudioEndianLittle.setSelected(false); radioAudioEndianBig.setSelected(false); } if (f.getSampleSizeInBits() == 8) radioAudioBitsPerSample8.setSelected(true); else if (f.getSampleSizeInBits() == 16) radioAudioBitsPerSample16.setSelected(true); else throw new IllegalArgumentException(); if (f.getSigned() == AudioFormat.SIGNED) checkBoxAudioSigned.setSelected(true); else if (f.getSigned() == AudioFormat.UNSIGNED) checkBoxAudioSigned.setSelected(false); else throw new IllegalArgumentException(); } public AudioFormat getAudioFormat() { final String encoding = (String) comboAudioEncoding.getSelectedItem(); final double sampleRate = Integer.parseInt((String) comboAudioSampleRate.getSelectedItem()); final int sampleSizeInBits; if (radioAudioBitsPerSample8.isSelected()) sampleSizeInBits = 8; else if (radioAudioBitsPerSample16.isSelected()) sampleSizeInBits = 16; else throw new RuntimeException(); final int channels; if (radioAudioChannelsMono.isSelected()) channels = 1; else if (radioAudioChannelsStereo.isSelected()) channels = 2; else throw new RuntimeException(); final int endian; if (sampleSizeInBits <= 8) endian = -1; else if (radioAudioEndianLittle.isSelected()) endian = AudioFormat.LITTLE_ENDIAN; else if (radioAudioEndianBig.isSelected()) endian = AudioFormat.BIG_ENDIAN; else throw new RuntimeException(); final int signed = checkBoxAudioSigned.isSelected() ? AudioFormat.SIGNED : AudioFormat.UNSIGNED; return new AudioFormat(encoding, sampleRate, sampleSizeInBits, channels, endian, signed); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; buttonGroupAudioBitsPerSample = new javax.swing.ButtonGroup(); buttonGroupAudioChannels = new javax.swing.ButtonGroup(); buttonGroupAudioEndian = new javax.swing.ButtonGroup(); labelAudioEncoding = new javax.swing.JLabel(); comboAudioSampleRate = new javax.swing.JComboBox(); comboAudioEncoding = new javax.swing.JComboBox(); labelAudioSampleRate = new javax.swing.JLabel(); labelAudioBitsPerSample = new javax.swing.JLabel(); radioAudioBitsPerSample8 = new javax.swing.JRadioButton(); radioAudioBitsPerSample16 = new javax.swing.JRadioButton(); radioAudioChannelsStereo = new javax.swing.JRadioButton(); radioAudioChannelsMono = new javax.swing.JRadioButton(); labelChannels = new javax.swing.JLabel(); labelAudioEndian = new javax.swing.JLabel(); radioAudioEndianBig = new javax.swing.JRadioButton(); radioAudioEndianLittle = new javax.swing.JRadioButton(); checkBoxAudioSigned = new javax.swing.JCheckBox(); setLayout(new java.awt.GridBagLayout()); labelAudioEncoding.setText("Encoding:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); add(labelAudioEncoding, gridBagConstraints); comboAudioSampleRate.setModel(new javax.swing.DefaultComboBoxModel(new String[] {})); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); add(comboAudioSampleRate, gridBagConstraints); comboAudioEncoding.setModel(new javax.swing.DefaultComboBoxModel(new String[] {})); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); add(comboAudioEncoding, gridBagConstraints); labelAudioSampleRate.setText("Sample rate (Hz):"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); add(labelAudioSampleRate, gridBagConstraints); labelAudioBitsPerSample.setText("Bits per sample:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); add(labelAudioBitsPerSample, gridBagConstraints); buttonGroupAudioBitsPerSample.add(radioAudioBitsPerSample8); radioAudioBitsPerSample8.setText("8"); radioAudioBitsPerSample8.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); radioAudioBitsPerSample8.setMargin(new java.awt.Insets(0, 0, 0, 0)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); add(radioAudioBitsPerSample8, gridBagConstraints); buttonGroupAudioBitsPerSample.add(radioAudioBitsPerSample16); radioAudioBitsPerSample16.setText("16"); radioAudioBitsPerSample16.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); radioAudioBitsPerSample16.setMargin(new java.awt.Insets(0, 0, 0, 0)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); add(radioAudioBitsPerSample16, gridBagConstraints); buttonGroupAudioChannels.add(radioAudioChannelsStereo); radioAudioChannelsStereo.setText("Stereo"); radioAudioChannelsStereo.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); radioAudioChannelsStereo.setMargin(new java.awt.Insets(0, 0, 0, 0)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 4; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); add(radioAudioChannelsStereo, gridBagConstraints); buttonGroupAudioChannels.add(radioAudioChannelsMono); radioAudioChannelsMono.setText("Mono"); radioAudioChannelsMono.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); radioAudioChannelsMono.setMargin(new java.awt.Insets(0, 0, 0, 0)); radioAudioChannelsMono.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { radioAudioChannelsMonoActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); add(radioAudioChannelsMono, gridBagConstraints); labelChannels.setText("Channels:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); add(labelChannels, gridBagConstraints); labelAudioEndian.setText("Endian:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); add(labelAudioEndian, gridBagConstraints); buttonGroupAudioEndian.add(radioAudioEndianBig); radioAudioEndianBig.setText("Big"); radioAudioEndianBig.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); radioAudioEndianBig.setMargin(new java.awt.Insets(0, 0, 0, 0)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); add(radioAudioEndianBig, gridBagConstraints); buttonGroupAudioEndian.add(radioAudioEndianLittle); radioAudioEndianLittle.setText("Little"); radioAudioEndianLittle.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); radioAudioEndianLittle.setMargin(new java.awt.Insets(0, 0, 0, 0)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); add(radioAudioEndianLittle, gridBagConstraints); checkBoxAudioSigned.setText("Signed"); checkBoxAudioSigned.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); checkBoxAudioSigned.setMargin(new java.awt.Insets(0, 0, 0, 0)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4); add(checkBoxAudioSigned, gridBagConstraints); }// </editor-fold>//GEN-END:initComponents private void radioAudioChannelsMonoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_radioAudioChannelsMonoActionPerformed// TODO add your handling code here: }//GEN-LAST:event_radioAudioChannelsMonoActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.ButtonGroup buttonGroupAudioBitsPerSample; private javax.swing.ButtonGroup buttonGroupAudioChannels; private javax.swing.ButtonGroup buttonGroupAudioEndian; private javax.swing.JCheckBox checkBoxAudioSigned; private javax.swing.JComboBox comboAudioEncoding; private javax.swing.JComboBox comboAudioSampleRate; private javax.swing.JLabel labelAudioBitsPerSample; private javax.swing.JLabel labelAudioEncoding; private javax.swing.JLabel labelAudioEndian; private javax.swing.JLabel labelAudioSampleRate; private javax.swing.JLabel labelChannels; private javax.swing.JRadioButton radioAudioBitsPerSample16; private javax.swing.JRadioButton radioAudioBitsPerSample8; private javax.swing.JRadioButton radioAudioChannelsMono; private javax.swing.JRadioButton radioAudioChannelsStereo; private javax.swing.JRadioButton radioAudioEndianBig; private javax.swing.JRadioButton radioAudioEndianLittle; // End of variables declaration//GEN-END:variables }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -