当前位置: 首页 > 知识库问答 >
问题:

在java应用程序中加载和播放声音的最简单方法是什么?

卓麒
2023-03-14

我对java比较陌生(我参加了一个为期一个学期的在线课程,所以我知道该语言的基本结构,但我的知识有很多差距)。我正在为我正在学习的微音音乐课程编写一个简单的耳朵训练应用程序,我显然需要能够用这个应用程序播放声音。在网上看,我发现的很多信息都已经过时了,而且我很难找到剪辑、数据线等的API(同样,我是新来的!)有没有一种简单的方法可以将声音加载到某种对象上(比如AudioClip?)这样就可以在必要时回放?如果它比这更复杂,我会很感激被引导到可以帮助我理解这个过程是如何工作的资源。

共有2个答案

林星华
2023-03-14

您需要导入以下内容:

import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import java.io.File;
import java.io.FileNotFoundException;

我创建了一个播放音频剪辑的方法,如下所示:

public static void myMusic() throws FileNotFoundException {
    try {
        File wavFile = new File(/*file path*/);
        Clip clip = AudioSystem.getClip();
        clip.open(AudioSystem.getAudioInputStream(wavFile));
        clip.start();
    } catch (Exception e) {
        System.out.println(e);
    }
}

比方说,如果您的音频剪辑的文件名是音乐。wav,您的文件路径可能是:

File wavFile = new File("music.wav");

最后,要播放音频剪辑,您需要调用该方法。

秦光启
2023-03-14

您可以使用此方法通过java应用程序播放音频剪辑

public static synchronized void playSound(final String url) {

    new Thread(new Runnable() {
    // The wrapper thread is unnecessary, unless it blocks on the
    // Clip finishing; see comments.

           public void run() {
              try {
                  Clip clip = AudioSystem.getClip();
                  AudioInputStream inputStream = AudioSystem.getAudioInputStream(
                  Main.class.getResourceAsStream("/path/to/sounds/" + url));
                  clip.open(inputStream);
                  clip.start(); 
                  } catch (Exception e) {
                  System.err.println(e.getMessage());
                  }
          }
    }).start();
}

这是另一个关于java如何添加音频剪辑的教程。你也可以在Java中查看播放声音的教程

 类似资料:
  • 我有大约20种不同的声音,我希望每1秒播放一次。每个声音只有0.7秒的持续时间。我甚至不知道如何将mp3导入java。我如何用java实现这一点? 更新 我有了新问题一旦开始我就停不下来了

  • 本文向大家介绍C#播放铃声最简单实现方法,包括了C#播放铃声最简单实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#播放铃声最简单实现方法。分享给大家供大家参考。具体分析如下: 因为只是做一个软件的闹铃播放效果,到网上找的时候试了几种,哎,都失败了,而且代码挺杂的,最终一句搞定了: 当然,你要先把铃声文件放进去项目:可直接拖放到项目上(自定义位置),然后属性—>生成操作—>选:嵌

  • 问题内容: 当前,我们的Java应用程序使用制表符分隔的* .cfg文件中包含的值。我们需要更改此应用程序,以使其现在使用XML文件。 为了从此文件中读取值,使用的最佳/最简单的库是什么? 问题答案: 当然,根据您的需要有很多好的解决方案。如果只是配置,则应查看Jakarta commons- configuration 和commons- digester 。 您总是可以使用获取文档的标准JDK

  • 问题内容: 我找到了要在Java应用程序中使用的开源库。该库是用C编写的,并且是在Unix / Linux下开发的,我的应用程序将在Windows上运行。它是一个主要包含数学函数的库,据我所知,它不使用任何依赖于平台的内容,它只是非常基本的C代码。而且,它也不大,少于5,000行。 在我的应用程序中使用库的最简单方法是什么?我知道这里有JNI,但这涉及到找到一个编译器来在Windows下编译该库,

  • 有没有人可以帮助我如何做到这一点,因为很难知道如何在我的简单程序中实现宋。我只是初学者程序员,我想知道如何做到这一点,因为我有一个关于这方面的项目。请用最简单的方式帮助我,因为我还不太擅长java编程,谢谢^_^ //这是我的代码。你不认为这是可能的吗?

  • 问题内容: 我正在制作一个Java应用程序,我需要播放音频。尽管我计划循环播放背景音乐,但我主要播放的是我的大炮射击(它是大炮射击游戏)和弹丸爆炸的小声音文件。我找到了两种不同的方法来实现此目的,但是两种方法都不符合我的要求。 第一种方法实际上是一种方法: 问题是我的整个程序停止运行,直到声音文件完成或至少接近完成。 第二种方法是这样的: 我这里的问题是,每次声音文件提早结束或根本不播放时,这取决