首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何通过数组给声音赋值,并使用Jbutton播放?

通过数组给声音赋值,并使用JButton播放可以通过以下步骤实现:

  1. 创建一个数组,用于存储声音文件的路径或URL。例如,可以使用字符串数组来存储声音文件的路径。
  2. 使用Java的音频库(如javax.sound.sampled)加载声音文件。可以使用AudioSystem类的静态方法getAudioInputStream()来获取声音文件的输入流。
  3. 创建一个JButton对象,用于播放声音。可以使用JButton的addActionListener()方法为按钮添加一个ActionListener。
  4. 在ActionListener中,使用AudioSystem类的静态方法getClip()来获取音频剪辑对象。然后使用Clip对象的open()方法打开声音文件的输入流。
  5. 调用Clip对象的start()方法播放声音。

下面是一个示例代码,演示如何通过数组给声音赋值,并使用JButton播放:

代码语言:java
复制
import javax.sound.sampled.*;
import javax.swing.*;
import java.awt.event.*;

public class SoundPlayer {
    private static final String[] soundFiles = {
        "path/to/sound1.wav",
        "path/to/sound2.wav",
        // 添加更多声音文件路径
    };

    public static void main(String[] args) {
        JFrame frame = new JFrame("Sound Player");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JButton playButton = new JButton("Play");
        playButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                try {
                    // 从数组中随机选择一个声音文件
                    String soundFile = soundFiles[(int) (Math.random() * soundFiles.length)];

                    // 加载声音文件
                    AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(SoundPlayer.class.getResource(soundFile));

                    // 获取音频剪辑对象
                    Clip clip = AudioSystem.getClip();
                    clip.open(audioInputStream);

                    // 播放声音
                    clip.start();
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
        });

        frame.getContentPane().add(playButton);
        frame.pack();
        frame.setVisible(true);
    }
}

在上面的示例代码中,我们创建了一个包含多个声音文件路径的字符串数组soundFiles。在按钮的ActionListener中,我们随机选择一个声音文件,加载它并使用Clip对象播放。你可以根据自己的需求修改soundFiles数组,添加更多声音文件的路径。

请注意,上述示例代码仅演示了如何通过数组给声音赋值,并使用JButton播放。在实际应用中,你可能需要添加更多的功能,例如停止播放、循环播放等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Unity精华☀️Audio Mixer终极教程:用《双人成行》讲解它的用途

api,控制整个项目的声音 希望分组简单,且可以通过一个api,设置不同组的声音 希望方便的拓展新的组或者最底层的音效,且之前写的控制代码会对新的拓展有效 如何用AudioMixer,分级控制项目音效...后面我们会通过 Resources 加载播放。...3️⃣ 创建声音播放源AudioSource,赋值MusicMixer 即在项目中,这些基础部分声音创建AudioSource, 后面就在这些 AudioSource上,播放对应类别的声音。...Audio Mixer 的使用思路: 原先我们播放音频,都是直接 AudioSource.Play 里面的音乐就可以了,camera上面的 Audiolistener 会监听项目中的声音播放出来。...4️⃣ 配置播放音乐面板 创建UI界面 效果如下图所示: 主音量滑动条控制全局音量 对话音量控制“对话”的音量 音乐音量控制其余音效音量 编写播放音乐的代码 下面代码用于赋值左侧按钮,用于点击播放音效

22110
  • Unity TimeLine丨B.赛车过场动画制作及视频展示

    TimeLine 3、添加BGM到TimeLine,将TimeLine GameObject添加到TimeLine的音频上,选择Create AudioSource On TimeLineTimeLine...GameObject添加AudioSource组件,将音频赋值AudioSource组件里的AudioSource-AudioClip 或者直接Add Component,再拖到视频TimeLine...上,赋值音频AudioSource 音频是通过AudioSource组件控制播放的,勾选组件的Play On Awake开始便可运行。...它的作用之一是当Mute锁定Track时,若Play On Awake未勾选,则不播放音乐,否则播放音乐 4、添加EngineStart引擎声音 在TimeLine GameObject添加第二个...AudioSource组件,将EngineStart声音赋值给它,并将声音拖动到TimeLine进行相关设置 5、添加相机,完成如下效果,参考链接 6、添加渐隐渐现效果 a、新建Image UI,锚点ALT

    13310

    Audio Unit播放PCM文件

    前言 相关文章: 使用VideoToolbox硬编码H.264 使用VideoToolbox硬解码H.264 使用AudioToolbox编码AAC 使用AudioToolbox播放AAC HLS...点播实现(H.264和AAC码流) HLS推流的实现(iOS和OS X系统) iOS在线音频流播放 最近对Audio Unit感兴趣,用几周的业余时间研究,顺利习得Audio Unit播放、录制声音...这是Audio Unit系列的第一篇,用Audio Unit播放PCM文件。 Audio Unit的知识点较多,围绕demo介绍如何使用Audio Unit。...AudioUnitInitialize初始化AudioUnit; 6、调用AudioOutputUnitStart开始,AudioUnit会调用之前设置的PlayCallback,在回调函数中把音频数据赋值...本文主要介绍AudioUnit如何播放声音,后续的两篇文章介绍AudioUnit的录音场景还有配合AudioConvert播放各种格式的文件。

    3K60

    Java中的屏幕共享

    了解如何使用 Java、Node.js 和 JxBrowser 构建屏幕共享应用程序。远程屏幕共享用于各种应用程序和服务,从网络会议到远程访问应用程序。...receiver', (req, res) => { res.sendFile(rootPath + 'public/receiver.html');});复制代码每个 HTML 文件都包含连接到服务器通过...为了显示它,我们在接收器端使用内置的 HTML5 视频播放器。打开两个浏览器窗口查看是否正常。该项目的源代码可在GitHub 上获得。...需要初始化一个空的Gradle 项目使用JxBrowser Gradle Plug-in添加JxBrowser依赖项。...结论在本文中,展示了如何在一个 Java 应用程序中共享屏幕使用 JxBrowser 在另一个应用程序中显示它。 我创建了一个可以共享屏幕的简单 JavaScript 应用程序。

    1.9K20

    为了防止狗上沙发,写了一个浏览器实时识别目标功能

    / 加载预训练的 SSD MobileNet V2 模型 const model = await cocoSsd.load(); dogDetector = model; // 将加载好的模型赋值...MobileNet V2 模型 const model = await cocoSsd.load(); dogDetector = model; // 将加载好的模型赋值...但是,家里夫人直接做了一个围栏晚上狗圈起来了 实现总结 该方案通过以下步骤实现了一个基于网页的实时物体检测系统,专门用于识别画面中的狗播放特定音频以驱赶它离开沙发。...加载物体检测模型: 使用 TensorFlow.js 和预训练的 COCO-SSD MobileNet V2 模型进行对象检测,加载模型后赋值 dogDetector 变量。...部署环境准备: 使用旧 Android 手机安装 Termux ,创建本地 HTTP 服务器运行项目代码。上传项目文件至 Termux 目录下通过访问 localhost:8000 启动应用。

    9810

    Python 还能播放音频,而且花样多多?

    阅读本文大概需要3.3分钟 播放音频文件 下面,您将看到如何使用所选的Python库来播放音频文件。其中一些库允 许您播放一系列音频格式,包括MP3和NumPy数组。...使用此模块,可以使用一行代码播放声音文件: from playsound import playsound playsound('myfile.wav') playsound声明它已经在WAV和MP3...下面,将看到如何生成与440 Hz音调相对应的NumPy数组使用simpleaudio.play_buffer(): import numpy as np import simpleaudio as...,将学习如何使用python-sounddevice跨平台音频回放模块。...接下来,我们将学习如何使用pydub播放声音。它允许播放范围广泛的音频文件,并且提供了比使用音频更多的选项。

    3.6K10

    Java图形用户界面设计的布局管理器

    创建GridBagLaout布局管理器对象,容器设置该布局管理器对象; 创建GridBagConstraints对象,设置该对象的控制属性: gridx: 用于指定组件在网格中所处的横向索引...gridBagLayout.setConstraints(c,gridBagConstraints); container.add(c); } } 这段代码展示了如何使用...然后,创建了一个GridBagConstraints对象,设置其中的一些属性。 接下来,创建了一个容量为10的Button数组通过循环初始化了每一个按钮。...通过调用addComponent方法,将前三个按钮添加到Frame中,设置了一些约束条件。然后,将第四个按钮添加到Frame中,设置了约束条件。...BoxLayout演示,我们会发现,被它管理的容器中的组件之间是没有间隔的,不是特别的美观,但之前学习的几种布局,组件之间都会有一些间距,那使用BoxLayout如何组件设置间距呢?

    15910

    Android音频系统

    AudioTrack如何传输数据Thread? AudioTrack如何播放、暂停、关闭? ?.../system/etc/audio_policy.conf来描述 app要播放声音, 要指定声音类型: stream type有那么多的类型, 来来来, 先看它属于哪一类(策略): strategy 根据...根据device确定output, 进而知道对应的playbackthread, 把声音数据传给这个thread 一个stream如何最终选择到一个device,这些stream如何互相影响(一个高优先级的声音会使得其他声音静音...假设默认情况下播放音乐是通过听筒喇叭输出的,那么当用户插入耳机时,这个策略就会改变——从耳机输出,而不再是听筒;又比如在机器插着耳机时,播放音乐不应该从喇叭输出,但是当有来电铃声时,就需要同时从喇叭和耳机输出音频...APPAudioTrack提供音频数据有2种方式: 一次性提供(MODE_STATIC)、边播放边提供(MODE_STREAM) 问: 音频数据存在buffer中, 这个buffer由谁提供?

    3.5K20

    Java图形用户界面之Applet设计

    在Java Applet中,可以实现图形绘制、字体和颜色控制、动画和声音播放、人机交互及网络交流等功能。...声音播放 目前 Java 中支持 AU、AIFF、WAV、MIDI、RFM 等多种格式的音频文件格式,可以利用 Applet 类和 AudioClip 接口来播放声音。...而音频文件的播放和停止可能进行很多次,可以放在 start()和 stop()方法中,或者通过相应按钮的事件处理方式进行控制。 代码示例 可以使用Java Applet来实现音频文件的播放。...因此,如果您希望在现代浏览器中使用音频播放功能,可以考虑使用HTML5的元素或使用JavaScript库(如Howler.js)来完成音频播放操作。...代码示例 下面是一个使用Java编写的Applet,可以通过HTML文档传入两个整数,计算它们的最大公约数。

    8710

    vue新春游戏-年兽大作战,欢欢喜喜过大年(可在线体验)

    至于声音控制,那肯定是必须的,一是因为防止突然播放音乐对用户造成影响,二是浏览器也有限制,禁止声音自动播放。...,如果我们定义数据的时候直接把控制声音的变量赋值show,那么后续声音变化的时候,show是不会动态更新的,这里我们我们赋值show一个函数,就可以达到冬天更新的目的了。...游戏中的声音主要有两个类型,一种是长时间播放,需要控制播放暂停的,比如背景音乐,另一种是即时性的,比如菜单滑动声、子弹撞击声等,所以背景音乐的实例我们需要存储下来,而即时音效随用随建就行,我这里偷了个懒...,如果打开的话在进行播放,注意,这里不能通过给单一的audio对象改变地址的方式播放不同的音效,因为如果在当前声音正在播放时候,修改音效地址会报错。...9, // 回答倒计时, showTime: 6, // 展示倒计时 result: null, // 用户回答的答案 } 这么一看就好办多了,我们只需要再点击选项的时候,把选项的值赋值

    63910

    如何在Swing组件中使用HTML

    这是在按钮的文本中使用HTML的示例: button = new JButton("Two lines"); 这是结果按钮。 ?...示例:HtmlDemo 名为HtmlDemo的应用程序允许您通过在标签上设置文本来使用HTML格式播放。您可以在HtmlDemo.java中找到此程序的完整代码。这是HtmlDemo示例的图片。...单击启动按钮,以使用Java™Web Start(下载JDK 7或更高版本)运行ButtonHtmlDemo。或者,要自己编译运行示例,请查阅示例索引。...左右按钮具有多行和文本样式,使用HTML来实现。另一方面,中间按钮仅使用一行,字体和颜色,因此不需要HTML。...本节讨论了如何在普通的非文本组件中使用HTML。有关主要目的是格式化文本的组件的信息,请参阅使用文本组件。 如果您使用JavaFX编程,请参见HTML编辑器。

    2.5K20

    Java交互界面实现计算器开发设计【附函数源码】

    使用Java和C#开发交互界面,最大的区别就是: C#的交互界面的实现是可以在设计模块中直接添加控件设置其属性,同时还会生成与控件所绑定的控件函数的, 而Java则不同,Java的窗体和控件都需要使用代码来设置的...操作符点击后数据转换赋值函数 当我们点击了运算操作符之后,说明我们的第一个数据已经输入完成了,这个时候,我们将要输入的是第二个数据,这时候我们就需要进行数据的赋值转换,因为我们最开始的时候是使用INumsecand...你可能会问,为什么不直接使用INumfirst接收第一个数据,使用INumsecand接收第二个数据,原因是因为,当你点击数字控件时,我们无法判断你输入的数据是第一个数据还是第二个数据,我们只能将你输入的数据统一的赋值某一个变量...,在这里这个变量就是INumsecand,只有我们判断到当点击了运算操作符之后,说明我们的上一个数据已经输入完成了,这时候才需要我们将INumsecand赋值INumfirst,来说明我们得到了第一个数据...该函数的实现代码如下: //定义操作符点击后数据转换赋值的函数 public static void Operation_Cliked() { INumFirst = INumSecond; //将第一次键入的值赋第一个数

    1.4K10

    如果用java swing编写一个五子棋(人人对战)

    上一次写了一个姓名随机抽取器,点击查看,参加了原力计划,被小编推荐到了首页,也是第一次在首页看到自己写的东西,当时看到的那一刻实实在在很开心,其实我们好多人学习东西,恰恰就需要那么一点点的鼓励和被重视,没错,我就是这类人,通过这次被官方推荐...我也找到了游戏的背景,棋子落下时也会有音乐,由于录制的是动态图,所以没办法在这里各位呈现音乐效果,下面有游戏效果和流程图,由于代码可能比较繁琐,我特意准备了流程图帮助各位理解,至于代码,我会尽可能注释清楚...JButton Start_end_Button = new JButton(); //开始游戏按钮 private static JButton Pause_Butten = new JButton...volatile int time =0; //设置倒计时 private static volatile int ss =time % 60; private static int sum = 0;//记录数组使用情况...BufferedInputStream(fileInputStream); player = new Player(bufferedInputStream); player.play();//加载音乐播放

    1.2K51

    Java课程设计之 学生成绩管理系统「建议收藏」

    a,设置其行和列的大小 for(int i=0;i<list.size();i++){ //通过循环向数组中存入数据以放入表格中 Student s=list.get(i); /...aa,设置其行和列的大小 for(int i=0;i<list.size();i++){ //通过循环向数组中存入数据以放入表格中 Student s=list.get(i);...aa,设置其行和列的大小 for(int i=0;i<list.size();i++){ //通过循环向数组中存入数据以放入表格中 Student s=list.get...aa,设置其行和列的大小 for(int i=0;i<list.size();i++){ //通过循环向数组中存入数据以放入表格中 Student s=list.get...aa,设置其行和列的大小 for(int i=0;i<list.size();i++){ //通过循环向数组中存入数据以放入表格中 Student s=list.get(i)

    4.5K43

    webrtc之摄像头加麦克风实战!

    前言: 大家周末好,今天大家继续分享webrtc的文章,在上周分享的文章里面,介绍了如何打开本地摄像头来实时显示采集画面,不过当时代码是用js写的,不知道大家有没有看明白,感兴趣的朋友可以用vs把代码跑起来看看...今天主要分享关于如何打开电脑的麦克风并在页面播放捕获到的声音,以及如何去除回音,同时演示视频和音频同时出现,也就是类似于腾讯会议那种实时会议画面,但是暂时还是不会很难!...getUserMedia函数的传参 2、getUserMedia有两种情况,一种正常打开,另外一种情况就是打开失败,都有对应的接口实现处理 3、当正常打开麦克风时,则将getUserMedia返回的stream对象赋值...audio控件的srcObject就可以实现声音播放了 下面是具体代码实现: 请打开麦克风 通过getUserMedia()获取声音

    1.7K10
    领券