gpt4 book ai didi

Java 在另一个音频上播放相同的音频

转载 作者:行者123 更新时间:2023-12-02 04:02:10 26 4
gpt4 key购买 nike

我正在制作一个游戏,菜单中有鼠标悬停声音。然而,当第二次播放声音时,第一次播放尚未结束,第二次就切断了第一次播放。有什么办法可以解决这个问题吗?

public static AudioClip menuMouseOver; //creating the audioClip
menuMouseOver = Applet.newAudioClip(new File(soundsLocation+"\\menuMouseOver.wav").toURL()); //loading the sound into the audioClip
menuMouseOver.play(); //calling the audioClip to play.

最佳答案

AudioClipClipSourceDataLine 未设置为并发播放。可以从一个通用的 .wav 文件创建多个 AudioClip 或 Clip,Java 的音频系统会将它们混合在一起。但在这种情况下,您必须在内存中保存音频的多个副本,并且音频非常庞大。

但是对单个音频文件的并发播放进行编码并不是特别棘手。一个相对直接的计划是将文件的单个副本加载到内存中,然后创建和管理多个“光标”,这些“光标”索引到该内存区域以供播放。来自每个“光标”的音频数据可以添加在一起并通过 SourceDataLine 输出。

这是我用于AudioCue的计划,它是一种 super Clip,允许实时音量、平移和音调变化以及并发播放。我相信TinySound是另一个支持并发播放的音频库。

关于Java 在另一个音频上播放相同的音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56728179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com