激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java實現播放背景音樂

java實現播放背景音樂

2021-08-26 11:42點丶錯了。。 Java教程

這篇文章主要為大家詳細介紹了java實現播放背景音樂,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java實現播放背景音樂的具體代碼,供大家參考,具體內容如下

測試源碼

播放背景音樂類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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){
      }
    */
  }
}

窗口類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
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();
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/weixin_46085748/article/details/113413948

延伸 · 閱讀

精彩推薦
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7472021-02-04
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
主站蜘蛛池模板: 婷婷一区二区三区 | 久久久久久久久久久久久国产精品 | 日韩中文一区 | 精品一区二区三区欧美 | 一本色道久久久888 国产一国产精品一级毛片 国产精品高潮视频 | 国产免费一区二区三区在线能观看 | 12av毛片 | 成人在线97 | 91美女视频在线观看 | 亚洲网站免费观看 | 91网视频| 久久精品视频在线 | 天堂精品在线 | 久久国产成人精品国产成人亚洲 | jizzzxxxxhd | 久久这里只有精品1 | 91精品国 | 国产日韩精品欧美一区视频 | 蜜桃麻豆视频 | 欧美一级免费在线观看 | 美女黄视频在线观看 | 久久久久中精品中文字幕19 | 黄色免费不卡视频 | 日韩一级成人 | 在线播放黄色网址 | 黄色录像日本 | 天天都色| 中文字幕在线观看网址 | 久久国产精品一区 | 91久久一区 | 欧美精品99 | 色综合久久久久久久粉嫩 | 日韩毛片一区二区三区 | 欧美日韩亚洲另类 | 国产手机av在线 | 免费男女乱淫真视频 | 成人免费观看49www在线观看 | 日本综合久久 | 免费国产a | 亚洲一区动漫 | 暴力肉体进入hdxxxx0 |