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

如何创建静音选项

壤驷承
2023-03-14
问题内容

如何创建一个为整个Java应用程序切换静音的函数?

实际上,所有声音都来自我在应用程序中加载的外部小程序。

加载小程序的代码在这里:https
:
//github.com/Tyilo/RS2Lite/blob/master/src/com/rs2lite/loader/GameAppletLoader.java


问题答案:

使用Port可以访问计算机的混音器,但是将声音静音会静音计算机的所有声音。因此,这可能不是一个好选择。

除此之外,我认为您需要当前播放的Clip或SourceDataLine的类实例。但是,最有可能的是,小程序使用Applet的AudioClip类进行播放,该类可能在内部也可能不使用Clip
/ SourceDataLine。

无论如何,您可以尝试以下方法,它应该适用于大多数Java Sound实现:

  • 从AudioSystem,获取所有混音器
        Mixer.Info[] infos = AudioSystem.getMixerInfo();
    for (Mixer.Info info: infos) {
        Mixer mixer = AudioSystem.getMixer(info);
    }
 ```   

确保导入javax.sound.sampled。*

  * 从每个混音器中,通过 `getSourceLines()`
  * 对于返回的每一行,请尝试获取“静音”控件:

    BooleanControl bc = (BooleanControl) line.getControl(BooleanControl.Type.MUTE)
if (bc != null) {
    bc.setValue(true); // true to mute the line, false to unmute
}

```

注意,不能保证您将获得行,也不能保证Java Sound实现为给定的行提供MUTE控件。



 类似资料:
  • 我无法找到一种方法来创建一个输入字段在Flutter将打开一个下拉的名字列表。Flutter material Widgets可能吗? 就像这样

  • 如何在java Android中创建一个自动选中的复选框?

  • 问题内容: 我有一个简单的JSON代码: 我的HTML中有一个选择标记: 我需要一种简单的方法来从此JSON创建HTML选择框,如下所示: 问题答案: 只是这里的踢是纯JavaScript的答案,您可能也不需要数组,只需一个简单的对象即可

  • 我希望函数位于类中(不污染全局名称空间),但可以静态访问(从不创建它们所在的对象)。提议的解决办法: 这是一个好的解决方案,还是不可避免地会创建一个对象?我应该使用哪种图案?

  • 我如何完成用户选项程序的代码?在程序A1B1.java中编写并完成以下静态方法: 公共静态虚空显示欢迎() : o 在控制台上显示“欢迎! 公共静态 int[] getRaNum() : o 返回 5 个从 21 到 98 随机生成的整数 公共静态虚空 showMenu() : o 显示一个菜单,提示用户选择一个选项(请参阅下一页的示例程序输出) 公共静态空隙主(字符串[]参数): o 程序入口点

  • 问题内容: 我有一段代码会生成很多警告(不推荐使用的API) 使用clang *我可以做 但是,这并不迅速。 如何迅速进行? 注意:我不想全局禁用警告,甚至不想禁用整个文件,而只是在源代码的特定部分禁用特定警告。 编辑:我看起来我的笔记不够清楚:我不希望条件编译(这是假定重复的建议答案)。我只想在不使用新API的情况下使警告静音。 问题答案: 截至2019年,Xcode 11.0一直没有办法实现这