zoukankan      html  css  js  c++  java
  • Java加入背景音乐

        近期有几个师妹找我给她们的Java期末作业加入背景音乐,非常久不琢磨Java的我花费整晚才搞定,羞愧。在博客中记录下来。警示自己。也帮助一下大家。

        Java中能够通过AudioClip类来实现音乐播放。循环等操作。AudioClip支持的音乐格式有.wav、.mid、AIFF、AU、RMF,可是格式要求相当严格。

    我用AudioClip播放我自己录的一段wav文件就没有声音。让我纠结了非常久。最后才发现我的wav文件内容没有写文件尾,对于格式要求严格的AudioClip而言是无法识别的(这个问题困扰了我整晚)。

        AudioCLip基本的方法有:play()播放依次声音;loop()循环播放音乐。stop()停止播放。

        做法一:

    InputStream   is =null;   
    AudioStream   as = null ; 
      is  =   getClass().getResourceAsStream("a.wav");  
    try {
    as =   new   AudioStream(is);
    } catch (IOException e) {}  
    AudioPlayer.player.start(as);
        此方法将音乐文件放入流中在播放,仅限于Java Application。easy报错,空指针异常。或者是流异常,不推荐。

        做法二:

      String   music  = "a.wav";  
      AudioClip   clip   =   Applet.newAudioClip(getClass().getResource(music)); 

        次方法在Applet中执行没有问题。可是Application中getclass()会返回空指针,导致失败。

        推荐做法:

    private URL url;
    private AudioClip
    ac;

    File f1 = new File("C:/3.wav");
       try {
        url= f1.toURL();
    } catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();

       ac= Applet.newAudioClip(cb1);
       ac.play();

        此方法没有限制,Java程序都支持。

  • 相关阅读:
    URLDNS 利用链分析
    Java 代码审计 — 3. Dynamic Proxies
    13. darkhole_1 靶机
    1. 20141116
    Java 代码审计 — 1. ClassLoader
    16. bluesky 靶机
    14. darkhole_2 靶机
    温故而知新异常和异常处理
    温故而知新何时使用委托而不使用接口
    温故而知新带有命名方法的委托和带有匿名方法的委托
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5078775.html
Copyright © 2011-2022 走看看