为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 Java 资源类文件夹访问和播放音频文件?

如何从 Java 资源类文件夹访问和播放音频文件?

千万里不及你 2022-09-22 15:55:40

我正在尝试创建一个简单的程序,在这个程序中,我设法从名为“res”的库类文件夹中加载sprite资源。我到了想要将音乐添加到程序中的地步,但就像图像一样,除非我从资源类文件夹访问它,否则它将无法工作。


在互联网上,我找不到有关从此文件夹中访问和播放音频文件的任何信息,就像我对图像所做的那样。是否可以播放这些文件夹中的音乐,如果可以,如何播放?


以下是我访问图像的方式:


package sbg.firstgame.gfx;


import java.awt.image.BufferedImage;

import java.io.IOException;

import javax.imageio.ImageIO;


public class ImageLoader {

public static BufferedImage loadImage(String path){

    try {

        return ImageIO.read(ImageLoader.class.getResource(path));

        } catch (IOException e) {

            e.printStackTrace();

            System.exit(1);

        }

        return null;

    }

}

这就是图像代码,如果它可以与此类似,那将是很棒的。感谢您的帮助。


查看完整描述

1 回答

?
叮当猫咪

TA贡献1446条经验 获得超12个赞

import java.io.IOException;


import javax.sound.sampled.AudioInputStream;

import javax.sound.sampled.AudioSystem;

import javax.sound.sampled.Clip;

import javax.sound.sampled.LineUnavailableException;

import javax.sound.sampled.UnsupportedAudioFileException;


public class AudioPlayer {

    public static void playAudio() {

        AudioInputStream audioIn;

        try {

            audioIn = AudioSystem.getAudioInputStream(AudioPlayer.class.getResourceAsStream("/audio/file.wav"));

            Clip clip = AudioSystem.getClip();

            clip.open(audioIn);

            clip.start();

        } catch (UnsupportedAudioFileException | IOException | LineUnavailableException  e) {

            e.printStackTrace();

        }

    }


}

这仅适用于爪哇库。但是有很多方法可以做到这一点。


下面是一个快速音频播放器实现 https://www.geeksforgeeks.org/play-audio-file-using-java/


查看完整回答
反对 回复 2022-09-22

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信