javaは背景音楽を再生することを実現します。
本論文の実例は、Javaが背景音楽を再生するための具体的なコードを共有しています。
テストソース
背景音楽を再生
テストソース
背景音楽を再生
package forGame;
import javax.sound.sampled.*;
import java.io.File;
// ( .wav )
public class Demo_2 {
//
void playMusic(File file)
{
try
{
//
Clip clip = AudioSystem.getClip();
//
AudioInputStream audioInput = AudioSystem.getAudioInputStream(file);
//
clip.open(audioInput);
//clip.start();//
//
clip.loop(Clip.LOOP_CONTINUOUSLY);
} catch(Exception ex){
ex.printStackTrace();
}
// (swing )
/*
while(true){
}
*/
}
}
ウィンドウクラス
package forGame;
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
//
public class Demo_1 extends JFrame{
//
private BufferedImage bufferedImage;
//
private int width;
private int height;
//
private BufferedImage[] images = new BufferedImage[4];
//
private BufferedImage image;
//
private File bgm;
//
private Demo_2 demo_2 = new Demo_2();
//
{
if(bufferedImage == null){
try {
bufferedImage = ImageIO.read(new File("src\\image\\ .png"));
for(int i = 1;i < images.length + 1;i ++)
images[i - 1] = ImageIO.read(new File("src\\image\\ " + i + ".png"));
} catch (IOException e) {
e.printStackTrace();
}
}
width = bufferedImage.getWidth();
height = bufferedImage.getHeight();
image = images[0];
bgm = new File("src\\music\\bgm.wav");
}
public Demo_1(){
super(" ");
//
setSize(width,height);
setLocationRelativeTo(null);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
//
MyThread myThread = new MyThread();
myThread.start();
//
demo_2.playMusic(bgm);
}
//
@Override
public void paint(Graphics g) {
Image image = this.createImage(width,height);
Graphics gImage = image.getGraphics();
gImage.setColor(gImage.getColor());
gImage.fillRect(0,0,width,height);
super.paint(gImage);
//
gImage.drawImage(bufferedImage,0 ,0 ,null );
//
gImage.drawImage(this.image,0 ,100 ,null );
//
g.drawImage(image,0 ,0 , null);
}
private int num = 0;//images
//
private class MyThread extends Thread{
@Override
public void run() {
while(true) {
if(num <= 3) {
image = images[num ++];
}
else
num = 0;
repaint();
try {
sleep(100);// 100
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
new Demo_1();
}
}
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。