java音频播放器代码_谁可以用Java编写音频或视频播放器的代码. 您可以运行实现....

7c500d5fd5dc099c8cc72453e89c34e3.png

全部展开

你好房东,你可以试试这个

import javax.media.ControllerEvent;

import javax.media.ControllerListener;

import javax.media.EndOfMediaEvent;

import javax.media.PrefetchCompleteEvent;

import javax.media.RealizeCompleteEvent;

导入javax.media. *;

导入javax.swing. *;

导入java.awt. *;

导入java.awt.event. *;

公共类MediaPlayer扩展了JFrame实现的ActionListener,

ItemListener,ControllerListener {

字符串标题;

布尔优先=真,循环=假;

组件vc,cc;

字符串currentDirectory = null;

//构造函数,其中包括设置侦听器以响应窗口事件.

MediaPlayer(字符串标题){

super(标题);

/ *执行关闭按钮. . * /

addWindowListener(新的WindowAdapter(){

public void windowClosing(WindowEvent e){

dispose();

}

public void windowClosed(WindowEvent e){

如果(玩家!=空)

player.close();

System.exit(0);

}

});

//调用程序菜单栏以完成菜单布局的方法成员

setupMenu();

setSize(400,400);

setVisible(true);

}

//此方法用于设置程序菜单栏

公共无效setupMenu(){

//设置菜单

菜单f =新菜单(“文件”);

//将菜单项添加到设置菜单

MenuItem mi =新的MenuItem(“打开”);

f.add(mi);

mi.addActionListener(this);

f.addSeparator();

57f6cbf77141dec490d5e953ba710c6a.png

CheckboxMenuItem cbmi =新的CheckboxMenuItem(“循环”,false);

cbmi.addActionListener(this);

f.add(cbmi);

f.addSeparator();

MenuItem ee =新的MenuItem(“退出”);

ee.addActionListener(this);

f.add(ee);

f.addSeparator();

菜单l =新菜单(“播放列表”);

菜单c =新菜单(“播放控制”);

MenuItem move = new MenuItem(“播放”);

move.addActionListener(this);

c.add(移动);

c.addSeparator();

MenuItem暂停=新的MenuItem(“暂停”);

pause.addActionListener(this);

c.add(暂停);

c.addSeparator();

MenuItem stop =新的MenuItem(“停止”);

stop.addActionListener(this);

c.add(停止);

c.addSeparator();

//设置菜单栏

MenuBar mb =新的MenuBar();

mb.add(f);

mb.add(c);

mb.add(l);

//将完成的菜单栏提供给当前程序的窗口;

setMenuBar(mb);

}

//动作时间响应成员;捕获发送到该对象的各种事件;

public void actionPerformed(ActionEvent e){

// TODO自动生成的方法存根

字符串cufile,selectfile,currentDirectory;

if(e.getActionCommand(). 等于(“ Exit”)){

//调用处置以执行windowClosed

dispose();

返回;

}

//这表明辩护人已选择“播放”命令;

//如果当前有可以播放的文件,则执行播放命令;

if(e.getActionCommand(). 等于(“ Play”)){

如果(玩家!=空){

player.start();

}

返回;

15f3d5901b9576ab7d20a77bb78fd843.png

}

//如果当前正在播放文件,则暂停;

if(e.getActionCommand(). 等于(“ pause”)){

如果(玩家!=空){

player.stop();

}

返回;

}

//停止命令的响应;

if(e.getActionCommand(). 等于(“ stop”)){

如果(玩家!=空){

player.stop();

player.setMediaTime(新时间(0));

}

返回;

}

//用户选择要播放的媒体文件

if(e.getActionCommand(). 等于(“ Open”)){

FileDialog fd =新的FileDialog(此为“打开媒体文件”,FileDialog.LOAD);

// fd.setDirectory(currentDirectory);

fd.setVisible(true);

//如果用户放弃选择文件java本地视频播放器,请返回

if(fd.getFile()== null){

返回;

}

//所选文件的名称及其路径名已保存,供以后使用

//还要设置当前文件夹路径

selectfile = fd.getFile();

currentDirectory = fd.getDirectory();

cufile = currentDirectory + selectfile;

///将用户选择的文件作为菜单项添加到播放列表中,菜单项名称为文件名;

//单击后给出的命令字符串是文件的完整路径名

MenuItem mi =新的MenuItem(选择文件);

mi.setActionCommand(cufile);

MenuBar mb = getMenuBar();

Menu m = mb.getMenu(2);

mi.addActionListener(this);

m.add(mi);

}其他{

//程序逻辑将运行到下一次,表明用户已在“播放列表”中选择了媒体文件

//此时,您可以通过以下操作获取文件的完整路径名

cufile = e.getActionCommand();

selectfile = cufile;

}

//如果存在玩家,请先关闭它,然后再重新创建

///在创建播放器时需要捕捉一些例外情况

d4b8cd05a0928fe97db50e995747059a.png

如果(玩家!=空){

player.close();

}

尝试{

player = Manager.createPlayer(新的MediaLocator(“文件: ” + cufile));

}捕获(异常e2){

System.out.println(e2);

返回;

} / *

* catch(NoPlayerException e2){System.out.println(“找不到播放器”);

* return;}

* /

如果(玩家==空){

System.out.println(“无法创建播放器”);

返回;

}

first = false;

setTitle(选择文件);

//设置处理播放控制器的实际对象;

/ ** /

player.addControllerListener(this);

player.prefetch();

}

//菜单状态更改事件的响应功能;

public void itemStateChanged(ItemEvent arg0){

// TODO自动生成的方法存根

}

public static void main(字符串[] args){

// TODO自动生成的方法存根

新的MediaPlayer(“播放器”);

}

//调用绘图功能以绘制界面

//公共无效更新(){

//}

//绘图功能成员

//公共无效涂料(图形g){

//}

公共无效controllerUpdate(ControllerEvent e){

// TODO自动生成的方法存根

容器tainer = getContentPane();

//当调用player.close()时发生ControllerClosedEvent事件

//如果有视觉部分,则应将其删除(为了保持一致,我们还将在控制面板上执行相同的操作,并在下次构造它)

if(作为ControllerClosedEvent的instance){

如果(vc!= null){

删除(vc);

vc = null;

170bd3499707f9d655b11e41070b5f.jpg

}

如果(cc!= null){

删除(cc);

cc = null;

}

}

//在播放结束时,将播放指针放在文件顶部. 如果设置了循环播放,请重新启动播放器;

if(EndOfMediaEvent的instance){

player.setMediaTime(新时间(0));

如果(循环){

player.start();

}

返回;

}

//在PrefetchCompletEvent事件发生后调用开始,并开始正式播放

if(例如PrefetchCompleteEvent的实例){

player.start();

返回;

}

//此事件表明已确定要播放的资源;此时,媒体的图片应清晰可见

//如果显示java本地视频播放器,则同时在窗口中显示播放器控件;

if(作为RealizeCompleteEvent的实例){

//如果介质中有图像,则将相应的图像组件加载到表单中;

vc = player.getVisualComponent();

如果(vc!= null)

tainer.add(vc,BorderLayout.CENTER);

//将相应的控制器组件加载到表单中;

cc = player.getControlPanelComponent();

cc.setBackground(Color.blue);

如果(cc!= null)

tainer.add(cc,BorderLayout.SOUTH);

//某些特殊媒体在播放过程中提供了其他控制方式,并将控制器添加到窗口中;

/ *

* gc = player.getGainControl(); gcc = gc.getControlComponent();

*如果(gcc!= null)tainer.add(gcc,BorderLayout.NORTH);

* /

//根据媒体文件中是否有图像设置相应的窗口大小

如果(vc!= null){

pack();

返回;

}其他{

setSize(300,75);

setVisible(true);

返回;

}

}

}

}

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/bofangqi/article-151047-1.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值