检查应用程序是不是发出声音

Posted

技术标签:

【中文标题】检查应用程序是不是发出声音【英文标题】:Check if an application emits sound检查应用程序是否发出声音 【发布时间】:2014-04-20 13:13:51 【问题描述】:

今天我在这里问你如何“理解”给定的应用程序是否发出声音。 在 Windows 7 和 8 上,我使用以下代码(库 CSCore Audio

[...]
        AudiosessionManager2 sessionManager = GetDefaultAudioSessionManager2(DataFlow.Render);
        AudioSessionEnumerator sessionEnumerator = sessionManager.GetSessionEnumerator();

                AudioSessionControl2 sessionControl;
                foreach (AudioSessionControl session in sessionEnumerator)
                
                    sessionControl = session.QueryInterface<AudioSessionControl2>();
                    if (sessionControl.Process.MainWindowTitle.StartsWith("my_test"))
                    
                        sessione = sessionControl;
                        audio = session.QueryInterface<AudioMeterInformation>();
                        break;
                    
                

        control.Text = sessione.Process.MainWindowTitle + "[" + audio.PeakValue + "]";
    [...]

它运行良好,但不适用于 Windows XP。 有没有办法“通用”来做到这一点? 如果有办法在 Java 中做到这一点会更好,所以在 Linux 上工作(目前我不需要,但可能在未来)

【问题讨论】:

对不起,我忘了...。这甚至不是我第一次在这里写:(对不起... 【参考方案1】:

很抱歉,Windows XP 不查询进程的音频峰值。你也可以看看Windows XP Audio Mixer。没有显示峰值。

【讨论】:

感谢您的快速回复。你知道你是否可以通过 Java 在 Linux 上做到这一点?或者至少可以判断给定进程是否正在发出声音...... 对不起。我不知道在 Linux 上是否可行。

以上是关于检查应用程序是不是发出声音的主要内容,如果未能解决你的问题,请参考以下文章

命令行完成时发出声音[重复]

iOS 7 的声音识别?

如何检查 Phonon 声音是不是已经在播放?

C中的程序,它读取声音数据并检查给定数据是不是满足wav文件的先决条件

如何检查是不是向缓存发出请求?

电灯开关里面有吱吱的声音怎么回事?