最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實現(xiàn)播放背景音樂

 更新時間:2021年03月22日 08:43:35   作者:點丶錯了。。  
這篇文章主要為大家詳細介紹了java實現(xiàn)播放背景音樂,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

測試源碼

播放背景音樂類

package forGame;

import javax.sound.sampled.*;
import java.io.File;

//測試背景音樂播放(只能播放.wav文件)
public class Demo_2 {
  //需要傳入要播放的文件
  void playMusic(File file)
  {
    try
    {
      //創(chuàng)建相當于音樂播放器的對象
      Clip clip = AudioSystem.getClip();
      //將傳入的文件轉成可播放的文件
      AudioInputStream audioInput = AudioSystem.getAudioInputStream(file);
      //播放器打開這個文件
      clip.open(audioInput);
      //clip.start();//只播放一次
      //循環(huán)播放
      clip.loop(Clip.LOOP_CONTINUOUSLY);
    } catch(Exception ex){
      ex.printStackTrace();
    }
    //死循環(huán)不讓主程序結束(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;

//動態(tài)效果
public class Demo_1 extends JFrame{
  //背景
  private BufferedImage bufferedImage;
  //窗體大小
  private int width;
  private int height;
  //照片數(shù)組
  private BufferedImage[] images = new BufferedImage[4];
  //要繪制動態(tài)圖片中的那張
  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("動態(tài)測試");
    //設置窗口
    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 );
    //繪制動態(tài)圖片
    gImage.drawImage(this.image,0 ,100 ,null );

    //最后繪制緩沖后的圖片
    g.drawImage(image,0 ,0 , null);
  }

  private int num = 0;//images數(shù)組內(nèi)圖片索引
  //線程內(nèi)部類
  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();
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • myeclipse安裝Spring Tool Suite(STS)插件的方法步驟

    myeclipse安裝Spring Tool Suite(STS)插件的方法步驟

    這篇文章主要介紹了myeclipse安裝Spring Tool Suite(STS)插件的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Spring @Valid @Validated實現(xiàn)驗證

    Spring @Valid @Validated實現(xiàn)驗證

    這篇文章主要介紹了Spring @Valid @Validated實現(xiàn)驗證,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • SpringMVC實現(xiàn)文件上傳和下載的工具類

    SpringMVC實現(xiàn)文件上傳和下載的工具類

    這篇文章主要為大家詳細介紹了SpringMVC實現(xiàn)文件上傳和下載的工具類,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • springboot項目接入第三方qq郵箱驗證登錄的全過程

    springboot項目接入第三方qq郵箱驗證登錄的全過程

    互聯(lián)網(wǎng)發(fā)展到現(xiàn)在,相必大家都知道發(fā)送郵件應該是網(wǎng)站的必備功能之一,下面這篇文章主要給大家介紹了關于springboot項目接入第三方qq郵箱驗證登錄的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-04-04
  • Java8新特性之新日期時間庫的使用教程

    Java8新特性之新日期時間庫的使用教程

    這篇文章主要給大家介紹了關于Java8新特性之新日期時間庫使用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • 使用Spring開啟@Async異步方式(javaconfig配置)

    使用Spring開啟@Async異步方式(javaconfig配置)

    這篇文章主要介紹了使用Spring開啟@Async異步方式(javaconfig配置),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • springMVC返回Http響應的實現(xiàn)

    springMVC返回Http響應的實現(xiàn)

    本文主要介紹了在Spring Boot中使用@Controller、@ResponseBody和@RestController注解進行HTTP響應返回的方法,具有一定的參考價值,感興趣的可以了解一下
    2025-03-03
  • MongoDB支持的java數(shù)據(jù)類型和測試例子

    MongoDB支持的java數(shù)據(jù)類型和測試例子

    這篇文章主要介紹了MongoDB支持的java數(shù)據(jù)類型和測試例子,MongoDB除了本身自有的數(shù)據(jù)類型外,還為較流行的編程語言定制了該語言的數(shù)據(jù)類型,需要的朋友可以參考下
    2014-05-05
  • java Springboot實現(xiàn)多文件上傳功能

    java Springboot實現(xiàn)多文件上傳功能

    這篇文章主要為大家詳細介紹了java Springboot實現(xiàn)多文件上傳功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • java8 List<Object>去掉重復對象的幾種方法

    java8 List<Object>去掉重復對象的幾種方法

    本文主要介紹了java8 List<Object>去掉重復對象的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04

最新評論

共和县| 灯塔市| 呈贡县| 剑阁县| 怀仁县| 嘉祥县| 贡觉县| 巴彦淖尔市| 会同县| 永昌县| 清原| 东乌珠穆沁旗| 嘉黎县| 柯坪县| 堆龙德庆县| 平顶山市| 马关县| 通江县| 晴隆县| 保定市| 屏东市| 公主岭市| 崇阳县| 漳浦县| 巴林右旗| 乡宁县| 凤庆县| 万安县| 湾仔区| 长武县| 茌平县| 新昌县| 女性| 靖边县| 诸城市| 伊吾县| 红安县| 宁夏| 包头市| 瓮安县| 体育|