栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

返回音频文件类型列表

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

返回音频文件类型列表

以下资源将显示

JFileChooser
特定于Java
Sound可以理解的文件类型的。用户选择任何声音剪辑后,即可使用该应用程序。将获得该目录中所有剪辑的列表,并以组合方式显示它们。

从组合中选择剪辑后,我们可以以某种方式

javax.sound.sample.Clip
(或使用Java
SoundAPI的其他方式)播放声音,但我们选择了。用于
Desktop
打开文件的1.6+“单行代码”
(在系统默认播放器中)。

import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.filechooser.FileNameExtensionFilter;import javax.sound.sampled.*;import java.io.*;class GetSoundsByFileType {    public static void main(String[] args) {        SwingUtilities.invokeLater(new Runnable() { public void run() {     AudioFileFormat.Type[] formatTypes = AudioSystem.getAudioFileTypes();     String[] types = new String[formatTypes.length];     for(int ii=0; ii<types.length; ii++) {         types[ii] = formatTypes[ii].getExtension();     }     FileTypesFilter fileTypesFilter = new FileTypesFilter(types);     // Just to confuse things, JFileChooser accepts a     // different type of filter!     FileNameExtensionFilter extensionFilter =         new FileNameExtensionFilter("Sound clips", types);     JFileChooser fc = new JFileChooser();     fc.setAcceptAllFileFilterUsed(false);     fc.addChoosableFileFilter(extensionFilter);     int result = fc.showOpenDialog(null);     if (result==JFileChooser.APPROVE_OPTION) {         File startAt = fc.getSelectedFile();         startAt = startAt.getParentFile();         File[] files = startAt.listFiles(fileTypesFilter);         final JComboBox clipCombo = new JComboBox(files);         clipCombo.addActionListener( new ActionListener(){      // 1.6+      Desktop desktop = Desktop.getDesktop();      public void actionPerformed(ActionEvent ae) {          try {   desktop.open( (File)clipCombo.getSelectedItem() );          } catch(Exception e) {   e.printStackTrace();          }      }  } );         JOptionPane.showMessageDialog(null, clipCombo);     } }        });    }}class FileTypesFilter implements FilenameFilter {    private String[] types;    FileTypesFilter(String[] types ) {        this.types = types;    }    public boolean accept(File dir, String name) {        for (String type:types) { if (name.toLowerCase().endsWith(type.toLowerCase())) {     return true; }        }        return false;    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/428909.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号