当前位置: 首页 > 面试题库 >

Java产生声音

邢法
2023-03-14
问题内容

我创建了一个pong克隆,当发生碰撞时,我想添加一些声音效果。我的问题是,考虑到整个应用程序只有90行代码,我发现的每个有关合成声音的示例都需要约30行代码。我正在寻找一种更简单的方法。有没有简单的方法来创建不同音调的提示音?持续时间无所谓。我只想要一系列不同音调的蜂鸣声。


问题答案:

这是从Java
Sound
提取(并简化)的一个小示例-示例:生成音频的代码

    byte[] buf = new byte[ 1 ];;
    AudioFormat af = new AudioFormat( (float )44100, 8, 1, true, false );
    SourceDataLine sdl = AudioSystem.getSourceDataLine( af );
    sdl.open();
    sdl.start();
    for( int i = 0; i < 1000 * (float )44100 / 1000; i++ ) {
        double angle = i / ( (float )44100 / 440 ) * 2.0 * Math.PI;
        buf[ 0 ] = (byte )( Math.sin( angle ) * 100 );
        sdl.write( buf, 0, 1 );
    }
    sdl.drain();
    sdl.stop();


 类似资料:
  • 问题内容: 这个简单的代码在我用来测试的几台机器上没有产生任何声音。我正在Eclipse中运行代码,但我也尝试过使用命令行无济于事。 我可以通过获取音序器,将MIDI事件添加到音序并播放音序来成功获取声音,但是我试图做一些音序器不支持的实时音乐效果。 有任何想法吗? 使用解决方案进行编辑: 事实证明,问题在于,默认情况下,JRE并未附带音库(有趣的是,使用Sequencer起作用了,而使用Synt

  • 我正在努力调试一个NextJS API,该API正在开发中(通过本地主机),但在生产中悄无声息地失败。 下面,两个没有返回,所以我怀疑调用没有正确执行,可能会及时? 我不知道该怎么纠正,很高兴按指示调试解决这个问题!

  • 这是我的密码。

  • 我使用带有幂等生产者配置的spring kafka: 这是我的配置道具: 我的Kafka制作人抛出OutOfOrderSequence异常: 2019-03-06 21:25:47发送者[ERROR][生产者clientId=生产者-1]代理返回org.apache.kafka.common.errors.OutOfOrderSequence异常:代理在偏移-1处收到主题分区主题-1的乱序序列号。

  • 问题内容: 我正在寻找可用于在运行时生成声音的Java代码-而不是现有声音文件的播放。 例如,在2毫秒的时间内生成440 Hz的锯齿波形的最佳代码是什么? 源代码赞赏! 我记得我的Commodore 128有一个简单的Sound命令,该命令以语音,频率,波形和持续时间作为参数来定义声音。在许多简单的情况下(快速而肮脏的游戏,声音实验等),效果都很好。 我正在专门寻找声音效果,例如声音,而不是音乐或

  • 问题内容: 在Java中以任何频率生成正弦波声音的最简单方法是什么?样本大小大于2个字节会有所帮助,但这并不 重要。 问题答案: 见一个自包含的例子。 也许更简单? 如链接答案顶部所示,这51行代码段(在下面重复-分隔为单行和行内注释)大约与 生成音调一样简单(好的,您可以取出5行以上用于谐波)。 人们似乎认为这应该是工具包中内置的一种产生 纯净音调的方法。并非如此,要花一点时间就可以做到。