java 播放mid_今天编辑了一个播放mid音乐的程序,呵呵,,分享一下我的快乐!...

今天编辑了一个播放mid音乐的程序,呵呵,,分享一下我的快乐!

今天编辑了一个播放mid音乐的程序,呵呵,

分享一下我的快乐!

祝大家学习进步!

import java.awt.event.*;

import javax.swing.*;

import javax.sound.midi.*;

import java.awt.*;

import java.io.*;

public class TestPlay extends JFrame implements ActionListener {

JButton startButton = new JButton("Start");

JButton stopButton = new JButton("Stop");

Player playBar = new Player();

JLabel label = new JLabel("name",SwingConstants.LEFT);

JTextField text = new JTextField("Enter music name:",SwingConstants.RIGHT);

public TestPlay() {

super("Playing music");

setSize(235,90);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

BorderLayout bord = new BorderLayout();

GridLayout layout = new GridLayout(1,2);

JPanel pane1 = new JPanel();

JPanel pane2 = new JPanel();

pane1.setLayout(layout);

pane2.setLayout(layout);

startButton.addActionListener(this);

stopButton.addActionListener(this);

startButton.setEnabled(true);

stopButton.setEnabled(false);

pane1.add(label);

playBar.name = text.getText();

pane1.add(text);

pane2.add(startButton);

pane2.add(stopButton);

JPanel pane = new JPanel();

pane.setLayout(bord);

pane.add("Center",pane1);

pane.add("South",pane2);

setContentPane(pane);

show();

}

public void actionPerformed(ActionEvent evt) {

Object src = evt.getSource();

if(src==startButton){

playBar.name = text.getText();

playBar.play();

startButton.setEnabled(false);

stopButton.setEnabled(true);

}

else if(src==stopButton){

playBar.stop();

startButton.setEnabled(true);

stopButton.setEnabled(false);

}

}

public static void main(String[] args){

try{

UIManager.setLookAndFeel(

UIManager.getSystemLookAndFeelClassName()

);

}catch(Exception e){}

TestPlay frame = new TestPlay();

}

}

class Player implements Runnable {

Thread runner;

String name = null;

Sequencer sound;

Sequence soundname;

File file;

void play(){

if(runner==null){

runner = new Thread(this);

runner.start();

}

}

void stop(){

if(runner!=null)

sound.close();

runner = null;

}

public void run() {

try{

sound = MidiSystem.getSequencer();

file = new File(name);

soundname = MidiSystem.getSequence(file);

sound.open();

sound.setSequence(soundname);

sound.start();

while(sound.isRunning()){

try{

Thread.sleep(1000);

}catch(Exception e){

System.out.println("some problems happended in this programe");

}

}

sound.close();

}catch(Exception e){

System.out.println("can't play the music" + e.getMessage());

}

}

}

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五百万实盘

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值