<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; Голосовая связь, активация микрофона]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=9922</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=9922&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Голосовая связь, активация микрофона».]]></description>
		<lastBuildDate>Wed, 27 Aug 2014 09:33:14 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Голосовая связь, активация микрофона]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=86154#p86154</link>
			<description><![CDATA[<p>Нужен тригер.<br /></p><div class="codebox"><pre><code>  
Loop
{
    VA_IAudioMeterInformation_GetPeakValue(audioMeter, peakValue)
    if (peakValue &gt; 0.0055 and trig=&quot;&quot;)
    {
      Trig=1
        Send {Space Down}
     }
    else if trig=1
    {
     Trig=
      Send {Space Up}
     }
    Sleep, %devicePeriod%
}

</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Wed, 27 Aug 2014 09:33:14 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=86154#p86154</guid>
		</item>
		<item>
			<title><![CDATA[Re: Голосовая связь, активация микрофона]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=86153#p86153</link>
			<description><![CDATA[<p>Сейчас возможности нет проверить, но мне кажется что в скрипте ошибка. Я так понимаю что при проверке в цикле уровня микрофона - идет постоянная отправка нажатий клавиш, если же уровень сигнала в микрофоне ниже заданного то идет постоянная отправка отжатий.</p><p>Мне же нужно в момент превышения уровня микрофона зажать кнопку {Space down} и когда уровень стал нижу фонового шума отжать {Space up}</p><p>Вопрос - этот вариант подойдет?<br /></p><div class="codebox"><pre><code>Loop
{
    VA_IAudioMeterInformation_GetPeakValue(audioMeter, peakValue)
    if peakValue &gt; 0.0055
        GoSub, QDown
    if peakValue &lt; 0.0055
        {
        Send {Space up}
        QToggle = 0
        Break
        }
    Sleep, %devicePeriod%
}
Return

QDown:
QToggle++
If QToggle = 1
{
    Send {Space down}
}
return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (kharlashkin)]]></author>
			<pubDate>Wed, 27 Aug 2014 08:35:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=86153#p86153</guid>
		</item>
		<item>
			<title><![CDATA[Re: Голосовая связь, активация микрофона]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=86142#p86142</link>
			<description><![CDATA[<div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>Самое обычное условие, ничего сверхестественного.<br /></p><div class="codebox"><pre><code>
Level=0.1
if (peakvalue&gt;level)
  Tooltip, %level%`n%peakvalue%
Else
  Tooltip
</code></pre></div></blockquote></div><p>Я как-то ожидал подводных камней - а там реально проще не куда. У меня так:<br /></p><div class="codebox"><pre><code>Loop
{
    VA_IAudioMeterInformation_GetPeakValue(audioMeter, peakValue)
    if peakValue &gt; 0.0055
        Send {Space Down}
    else Send {Space Up}
    Sleep, %devicePeriod%
}</code></pre></div><p>Буду тестировать - по крайней мере пробелы в блокноте ставит именно когда звучит речь.</p>]]></description>
			<author><![CDATA[null@example.com (kharlashkin)]]></author>
			<pubDate>Tue, 26 Aug 2014 05:55:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=86142#p86142</guid>
		</item>
		<item>
			<title><![CDATA[Re: Голосовая связь, активация микрофона]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=86138#p86138</link>
			<description><![CDATA[<p>Самое обычное условие, ничего сверхестественного.<br /></p><div class="codebox"><pre><code>
Level=0.1
if (peakvalue&gt;level)
  Tooltip, %level%`n%peakvalue%
Else
  Tooltip
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Tue, 26 Aug 2014 02:20:38 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=86138#p86138</guid>
		</item>
		<item>
			<title><![CDATA[Re: Голосовая связь, активация микрофона]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=86135#p86135</link>
			<description><![CDATA[<p>Прочел ветку VA, но не могу найти, как задать условие при превышении определенного уровня сигнала.</p>]]></description>
			<author><![CDATA[null@example.com (kharlashkin)]]></author>
			<pubDate>Mon, 25 Aug 2014 20:48:06 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=86135#p86135</guid>
		</item>
		<item>
			<title><![CDATA[Re: Голосовая связь, активация микрофона]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=86133#p86133</link>
			<description><![CDATA[<p>С &quot;capture&quot; не получилось, можете ссылку дать где это написано? А так я отловил уровни от микрофона, попробовал в игре - это не то, что мне нужно - потому как скрипт начинает показывать уровни именно когда я в игре нажимаю кнопку, а нужно наоборот.</p>]]></description>
			<author><![CDATA[null@example.com (kharlashkin)]]></author>
			<pubDate>Mon, 25 Aug 2014 18:21:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=86133#p86133</guid>
		</item>
		<item>
			<title><![CDATA[Re: Голосовая связь, активация микрофона]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=86129#p86129</link>
			<description><![CDATA[<p>Это не мой скрипт это пример с оф-сайта. В качестве ID можно использовать слово &quot;capture&quot; (берет устройство записи по умолчанию). Также на оф-сайте указано, что уровень будет отображаться только когда устройство используется в каком либо приложении.</p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Mon, 25 Aug 2014 15:11:21 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=86129#p86129</guid>
		</item>
		<item>
			<title><![CDATA[Re: Голосовая связь, активация микрофона]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=86128#p86128</link>
			<description><![CDATA[<p>Спасибо!!! Уже нашел эту библиотеку - Vista Audio, уже проверял перехват вывода звука. Сейчас буду смотреть и Ваш скрипт.</p>]]></description>
			<author><![CDATA[null@example.com (kharlashkin)]]></author>
			<pubDate>Mon, 25 Aug 2014 15:03:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=86128#p86128</guid>
		</item>
		<item>
			<title><![CDATA[Re: Голосовая связь, активация микрофона]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=86126#p86126</link>
			<description><![CDATA[<p>Вот так можно взять уровень микрофона:<br />Только нужно подобрать его ID, на моем компе ID микрофона = 5.<br /></p><div class="codebox"><pre><code>#SingleInstance, Force
MeterLength = 30
#include va.ahk

id=5
device := VA_GetDevice(id)
audioMeter := VA_GetAudioMeter(device)

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><a href="http://www.autohotkey.com/board/topic/21984-vista-audio-control-functions/">Требуется библиотека VA.ahk</a></p><p>Хм.. странно, работает только если отрыто окно настроек звука, причем именно вкладка &quot;Запись&quot;.</p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Mon, 25 Aug 2014 14:54:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=86126#p86126</guid>
		</item>
		<item>
			<title><![CDATA[Голосовая связь, активация микрофона]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=86098#p86098</link>
			<description><![CDATA[<p>Есть игра, где активация микрофона для голосовой связи вызывается кнопкой. Я в игре использую макросы AutoHotkey. Подскажите где можно подсмотреть следующий скрипт - нажатие кнопки по уровню шума в микрофоне. То есть я начинаю говорить что-то и AHK жмет кнопку?<br />Поиск пока ни к чему не привел, только распознавание, не хотелось бы предварительно говорить &quot;кодовое слово&quot; для активации. А для того, чтобы сказать что-то не в игру - есть кнопочка &quot;Mute&quot; на гарнитуре.</p>]]></description>
			<author><![CDATA[null@example.com (kharlashkin)]]></author>
			<pubDate>Sun, 24 Aug 2014 22:14:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=86098#p86098</guid>
		</item>
	</channel>
</rss>
