为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

windows播放器

2018-04-16 7页 doc 21KB 20阅读

用户头像

is_321575

暂无简介

举报
windows播放器windows播放器 用Java制作Windows媒体播放器 2007-10-12 15:08 Java是当今世界上非常流行的一种编程语言。它是由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的,是一种为Internet发展而突破用户端机器环境和CPU结构、写一次即可在任何机器上执行(Write OnceRun Anywhere)的语言。 介绍完Java的特性与优势后,我将开始介绍如何制作音频播放程序。Java中有许多可以制作音频播放的包和类,包括 java.applet.AudioCl...
windows播放器
windows播放器 用Java制作Windows媒体播放器 2007-10-12 15:08 Java是当今世界上非常流行的一种编程语言。它是由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的,是一种为Internet发展而突破用户端机器环境和CPU结构、写一次即可在任何机器上执行(Write OnceRun Anywhere)的语言。 介绍完Java的特性与优势后,我将开始介绍如何制作音频播放程序。Java中有许多可以制作音频播放的包和类,包括 java.applet.AudioClip、com.sun.media.sound.JavaSoundAudioClip和 javax.sound.midi.spi&javaw.sound.sampled.spi等,其中 java.applet.AudioClip是从JDK1.0就存在的一个接口,其余的多个类是对这个接口的实现及丰富其功能。 下面,我将带领大家利用com.sun.media.sound中的JavaSoundAudioClip类制作一个简单的音频播放器小程序。 我采用的是Borland公司的JBuilder,这是一个大型的Java集成开发环境。 我们共创建4个类,如下表: 类名 MyFrame AudioPlay GifPanel Test 功能 界面GUI 播放音频文件 存放gif图片的面板 测试类 1.生成Application的GUI 首先,利用JBuilder的Wizard自动生成一个带有菜单栏的Application,然后在Frame中添加控件。如下所示: 类型 JList JButton JButton JButton JButton JFileChooser 名称 jList1 jBtnBack jBtnPlay jBtnStop jBtnForward fileChooser 功能 播放列表 后退 播放 停止 前进 打开文件对话框 在按钮的下面添加jList作为播放列表,为了避免画面的单调,我们在右边添加一幅gif,为了便于对gif进行管理,我们为它制作了一个面板,构成GifPanel类。完成后的界面如下图所示: 2.构造AudioPlay类,,音频播放wav,注意异常处理 需要注意的是,当播放时,界面上的各个按钮应当仍然可以对用户的操作进行事件响应,所以至少需要两个线程:一个控制歌曲的播放,另外一个对用户事件 进行响应。因此我们的AudioPlay类需要实现Runable接口,以使用多线程技术。根据JDK的解释-JDK1.4.0,任何需要由线程执行的实 例都应当实现Runable接口,而且由于我们只需要重写run()方法和stop()方法,并给start()方法多态化,所以我们选择实现 Runable接口,这样就可以不需要继承Thread类而使用Thread类的实例来运行了。 package myplayer; import com.sun.media.sound.JavaSoundAudioClip; import java.io.*; /** *

Title: 音频播放器

*

Description:

*

Copyright: Copyright (c) 2003

*

Company:

* @author 放飞网 * @version 1.0 */ public class AudioPlay implements Runnable { private JavaSoundAudioClip locate, warning; protected boolean threadExit; protected boolean stopped; protected boolean playing; Thread playerThread; public AudioPlay() { } public void start(File f) { playing = true; stopped = false; try { FileInputStream ff = new FileInputStream(f); locate = new JavaSoundAudioClip(ff); } catch (Exception e) { System.out.println("error"); } playerThread = new Thread(this); playerThread.start(); } public void run() { if (playing) { if (!stopped) { if (locate == null) System.out.print("nulll"); try { locate.play(); System.out.print("test"); } catch (Exception ee) {} } } } public void stop() { stopped = true; threadExit = true; if (playing == true) { playing = false; locate.stop(); } } public void pause() { if (playing == true) { locate.stop(); } } } 3.文件过滤FileFilter 我们在使用Windows窗口打开文件时,经常会在文件类型的下拉框中看到多种相应的类型,这样可以限定用户所能够选定的文件类型,也可以提高用户选择文件的速度,因为这样将会只显示相应类型的文件。 而Java中也提供了相应的类可以完成这一功能。 javax.swing.filechooser.FileFilter是一个定义好的抽象类,实现了文件过滤器的基本功能。它只有两个方法:public abstract boolean accept(File f) 和public abstract String getDescription()。由于文件过滤器在我们的程序中只用于Frame窗口中,所以鉴于封装性,我们将其定义为MyFrame的内部类,如下所示: // JScript source code class WavFileFilter extends javax.swing.filechooser.FileFilter { /** * 内部类 * wav文件过滤器,用于打开文件对话框 */ String ext; // 文件扩展名 WavFileFilter(String ext) { this.ext = ext; } /** * 覆盖性方法 * 参数所表示的文件是一个路径名还是一个真实的文件名 * @param file 将给打开的文件 * @return 如果是路径, 返回true, 否则返回false */ public boolean accept(File file) { if (file.isDirectory()) // 是目录,打开 return true; String fileName = file.getName(); int index = fileName.lastIndexOf('.'); if (index > 0 && index < fileName.length() - 1) { // 表示文件名称不为".xxx"与"xxx."之类型 String extension = fileName.substring(index + 1).toLowerCase(); if (extension.equals(ext)) return true; } return false; } /** * 给出对特定文件类型的描述 * @return 对文件类型的描述 */ public String getDescription() { // 返回描述文件的说明字符串 if (ext.equals("wav")) return "Wav File (*.wav)"; return ""; } } } 4.设置成Windows格式 Java具有跨平台的特性,同时造成它的界面也比较独具“个性”。为了使界面更加美观,符合大多数Windows平台使用者的习惯,我们可以在Frame中加上下面一段代码: try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()) ; new Test(); // 初始化所要现实的窗体 } catch(Exception e) { e.printStackTrace(); } 其中,javax.swing.UIManager可以获取和设置外观。 getSystemLookAndFeelClassName()方法会自动过去当前系统平台,在通过setLookAndFeel方法就可以进行设置了。
/
本文档为【windows播放器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索