<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Определить, что идет звук]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7654</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7654&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Определить, что идет звук».]]></description>
		<lastBuildDate>Tue, 17 Feb 2015 10:53:00 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Определить, что идет звук]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=91629#p91629</link>
			<description><![CDATA[<p>Именно так.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Tue, 17 Feb 2015 10:53:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=91629#p91629</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определить, что идет звук]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=91627#p91627</link>
			<description><![CDATA[<p>Через анализ цвета пикселя в графическом эквалайзере с уровнем громкости?</p>]]></description>
			<author><![CDATA[null@example.com (emmetoya)]]></author>
			<pubDate>Tue, 17 Feb 2015 09:35:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=91627#p91627</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определить, что идет звук]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=91626#p91626</link>
			<description><![CDATA[<p><strong>Malcev</strong>,<br />каким способом у вас решено было,<br />без реакции на звук,<br />не поделитесь?</p>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Tue, 17 Feb 2015 09:23:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=91626#p91626</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определить, что идет звук]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=86134#p86134</link>
			<description><![CDATA[<div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>Вариант (от автора VA) с инициализацией звукового клиента (не требует запуска левых приложений, показывает уровень сразу):</p></blockquote></div><p>То, что надо!!!</p>]]></description>
			<author><![CDATA[null@example.com (kharlashkin)]]></author>
			<pubDate>Mon, 25 Aug 2014 18:30:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=86134#p86134</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определить, что идет звук]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=86130#p86130</link>
			<description><![CDATA[<p>Вот этого кода достаточно, чтобы считывать уровень сигнала на устройстве записи по умолчанию:<br /></p><div class="codebox"><pre><code>#SingleInstance, Force
#include va.ahk

audioMeter := VA_GetAudioMeter(&quot;capture&quot;)
VA_IAudioMeterInformation_GetMeteringChannelCount(audioMeter, channelCount)
VA_GetDevicePeriod(&quot;capture&quot;, devicePeriod)

Loop
{
    VA_IAudioMeterInformation_GetPeakValue(audioMeter, peakValue)
    ToolTip, %peakValue%
    Sleep, %devicePeriod%
}
</code></pre></div><p>Только чтобы и правда увидеть уровень сигнала, нужно запустить любое приложение использующее микрофон (или устройство записи), кроме тех приложений, которые используют устройство в &quot;монопольном режиме&quot;.</p><br /><p>Вариант (от автора VA) с инициализацией звукового клиента (не требует запуска левых приложений, показывает уровень сразу):<br /></p><div class="codebox"><pre><code>#SingleInstance, Force
#include va.ahk

; Get the device which we&#039;ll be monitoring.
device := VA_GetDevice(&quot;capture&quot;)
; Get IAudioClient interface.
VA_IMMDevice_Activate(device, IID_IAudioClient:=&quot;{1CB9AD4C-DBFA-4c32-B178-C2F568A703B2}&quot;, 7, 0, audioClient)
; Get mixer format to pass to Initialize.
VA_IAudioClient_GetMixFormat(audioClient, format)
; Initialize audio client to ensure peak meter is active.
VA_IAudioClient_Initialize(audioClient, 0, 0, 0, 0, format, 0)

; Get IAudioMeterInformation interface.
audioMeter := VA_GetAudioMeter(device)
; No longer needed, so free it:
MeterLength = 30
; &quot;The peak value for each channel is recorded over one device
;  period and made available during the subsequent device period.&quot;
VA_GetDevicePeriod(&quot;capture&quot;, devicePeriod)

Loop
{
    VA_IAudioMeterInformation_GetPeakValue(audioMeter, peakValue)
    ToolTip, %peakValue%
    Sleep, %devicePeriod%
}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Mon, 25 Aug 2014 15:28:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=86130#p86130</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определить, что идет звук]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=86127#p86127</link>
			<description><![CDATA[<p>А как бы микрофон добавить?</p>]]></description>
			<author><![CDATA[null@example.com (kharlashkin)]]></author>
			<pubDate>Mon, 25 Aug 2014 15:00:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=86127#p86127</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определить, что идет звук]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=80693#p80693</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Если во всплывающем сообщении, во время полной тишины, будут отображаться цифры отличные от 0</p></blockquote></div><p>float 0.000000 не равнозначно 0. Хоть это и противоречит здравому смыслу, но правильнее сравнивать 0.000000 не с 0 а с 0.000001 или со строкой &quot;0.000000&quot;.</p>]]></description>
			<author><![CDATA[null@example.com (bWRmeA)]]></author>
			<pubDate>Wed, 12 Mar 2014 10:12:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=80693#p80693</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определить, что идет звук]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69385#p69385</link>
			<description><![CDATA[<p>Спасибо! Похоже шапочка не понадобится. Приятно иметь дело с Профи!</p>]]></description>
			<author><![CDATA[null@example.com (Pokerist)]]></author>
			<pubDate>Tue, 12 Feb 2013 08:48:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69385#p69385</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определить, что идет звук]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69382#p69382</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>идёт звук: срабатывание</p></blockquote></div><p>Верно.<br /></p><div class="quotebox"><blockquote><p>А он срабатывает, даже если видео остановить</p></blockquote></div><p>Неверно.<br /></p><div class="codebox"><pre><code>#Persistent

audioMeter := VA_GetAudioMeter()
VA_IAudioMeterInformation_GetMeteringChannelCount(audioMeter, channelCount)
VarSetCapacity(peakValues, channelCount*4)
SetTimer, GetPeakValues, 100
return

GetPeakValues:
    VA_IAudioMeterInformation_GetChannelsPeakValues(audioMeter, channelCount, &amp;peakValues)
    loop %channelCount%
        ToolTip %v%
    until v := NumGet(peakValues, A_Index*4-4, &quot;float&quot;)
    return</code></pre></div><p>Если во всплывающем сообщении, во время полной тишины, будут отображаться цифры отличные от 0 — ваш компьютер вам что-то нашептывает, необходимо использовать беруши и шапочку из фольги <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Tue, 12 Feb 2013 07:08:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69382#p69382</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определить, что идет звук]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69361#p69361</link>
			<description><![CDATA[<p>Я рассчитывал, что он будет слышать то же что и я. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />&nbsp; &nbsp;Крутится видео - идёт звук: срабатывание.&nbsp; А он срабатывает, даже если видео остановить. Нужно обязательно закрывать окно плеера, чтобы срабатывания прекратились. <br />&nbsp; Если запущено приложение со встроенным flash, то тоже срабатывания идут вне зависимости, проигрывается заук или нет.&nbsp; <br />&nbsp; Пока не понял как выловить именно тут звук, что я хочу поймать.</p>]]></description>
			<author><![CDATA[null@example.com (Pokerist)]]></author>
			<pubDate>Mon, 11 Feb 2013 13:28:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69361#p69361</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определить, что идет звук]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69345#p69345</link>
			<description><![CDATA[<p>А на что вы расчитывали?<br /><span style="color: silver">«Молвит тут скрипт человечьим голосом: — Не серчай…»</span></p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Mon, 11 Feb 2013 01:10:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69345#p69345</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определить, что идет звук]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69344#p69344</link>
			<description><![CDATA[<p>Спасибо, разобрался. Правда он работает не совсем так, как я расчитывал, но это другой вопрос.</p>]]></description>
			<author><![CDATA[null@example.com (Pokerist)]]></author>
			<pubDate>Sun, 10 Feb 2013 22:31:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69344#p69344</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определить, что идет звук]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69164#p69164</link>
			<description><![CDATA[<p>@<strong>Pokerist</strong> Вам нужно скачать <a href="http://www.autohotkey.com/board/topic/21984-vista-audio-control-functions/">архив</a> и распаковать его либо в той же директории где и сам код, тогда уместна в коде такая запись:<br /></p><div class="quotebox"><cite>creature.ws пишет:</cite><blockquote><div class="codebox"><pre><code>#Include VA.ahk
...</code></pre></div></blockquote></div><p>Либо распаковать содержимое архива в папку библиотеки - <em>...\AutoHotkey\Lib\</em>, директива <strong>#Include</strong> в коде будет не нужна.</p>]]></description>
			<author><![CDATA[null@example.com (Grey)]]></author>
			<pubDate>Wed, 06 Feb 2013 12:28:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69164#p69164</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определить, что идет звук]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69161#p69161</link>
			<description><![CDATA[<p>Создал ahk-файл с этим кодом. В папке с ним создал файл VA.ahk&nbsp; с кодом</p><div class="codebox"><pre><code>
#SingleInstance, Force
MeterLength = 30

audioMeter := VA_GetAudioMeter()

VA_IAudioMeterInformation_GetMeteringChannelCount(audioMeter, channelCount)

; &quot;The peak value for each channel is recorded over one device
;  period and made available during the subsequent device period.&quot;
VA_GetDevicePeriod(&quot;capture&quot;, devicePeriod)

Loop
{
    ; Get the peak value across all channels.
    VA_IAudioMeterInformation_GetPeakValue(audioMeter, peakValue)    
    meter := MakeMeter(peakValue, MeterLength)
    
    ; Get the peak values of all channels.
    VarSetCapacity(peakValues, channelCount*4)
    VA_IAudioMeterInformation_GetChannelsPeakValues(audioMeter, channelCount, &amp;peakValues)
    Loop %channelCount%
        meter .= &quot;`n&quot; MakeMeter(NumGet(peakValues, A_Index*4-4, &quot;float&quot;), MeterLength)

    ToolTip, %meter%
    Sleep, %devicePeriod%
}

MakeMeter(fraction, size)
{
    global MeterLength
    Loop % fraction*size
        meter .= &quot;|&quot;
    Loop % (1-fraction)*size
        meter .= &quot;.&quot;
    meter .= &quot;  &quot; fraction
    return meter
}
</code></pre></div><p>&nbsp; &nbsp;И полчаю ошибку&nbsp; &quot;С: ... \VA.ahk (4) : ==&gt; Call to nonexistent function.&quot;&nbsp; <br />&nbsp; &nbsp;Эта функция действительно не определена. По крайней мере, в приведенном коде. Помогите, пожлуйста!</p>]]></description>
			<author><![CDATA[null@example.com (Pokerist)]]></author>
			<pubDate>Wed, 06 Feb 2013 12:09:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69161#p69161</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Определить, что идет звук]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69114#p69114</link>
			<description><![CDATA[<div class="codebox"><pre><code>#Include VA.ahk
#Persistent

audioMeter := VA_GetAudioMeter()
VA_IAudioMeterInformation_GetMeteringChannelCount(audioMeter, channelCount)
VarSetCapacity(peakValues, channelCount*4)
SetTimer, GetPeakValues, 100
return

GetPeakValues:
    VA_IAudioMeterInformation_GetChannelsPeakValues(audioMeter, channelCount, &amp;peakValues)
    loop %channelCount%
        if NumGet(peakValues, A_Index*4-4, &quot;float&quot;) {
            MsgBox раздался звук
            break
        }
    return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Tue, 05 Feb 2013 02:10:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69114#p69114</guid>
		</item>
	</channel>
</rss>
