<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Задержка при воспроизведении аудио]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=13145&amp;type=atom" />
	<updated>2017-11-10T11:07:38Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=13145</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Задержка при воспроизведении аудио]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=121011#p121011" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>gryphonn пишет:</cite><blockquote><p>Как получить данные файла в base64?</p></blockquote></div><p>Я же оставил подсказку на определении ф-ии декодирования: <em>; Base64 encoder/decoder for Binary data by SCAN</em><br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;Base64Encoder</div><div class="fancy_spoiler"><div class="codebox"><pre><code>#NoEnv
#SingleInstance, Force
SetWorkingDir %A_ScriptDir%
File := &quot;ahkicon.png&quot;
If !FileExist(File)
	URLDownloadToFile, http://i.imgur.com/dS56Ewu.png, % File
FileGetSize, nBytes, % File
FileRead, Bin, *c % File
B64Data := Base64Enc( Bin, nBytes, 100, 2 )
MsgBox % Clipboard := B64Data
Return

Base64Enc( ByRef Bin, nBytes, LineLength := 64, LeadingSpaces := 0 ) { ; By SKAN / 18-Aug-2017
Local Rqd := 0, B64, B := &quot;&quot;, N := 0 - LineLength + 1  ; CRYPT_STRING_BASE64 := 0x1
  DllCall( &quot;Crypt32.dll\CryptBinaryToString&quot;, &quot;Ptr&quot;,&amp;Bin ,&quot;UInt&quot;,nBytes, &quot;UInt&quot;,0x1, &quot;Ptr&quot;,0,   &quot;UIntP&quot;,Rqd )
  VarSetCapacity( B64, Rqd * ( A_Isunicode ? 2 : 1 ), 0 )
  DllCall( &quot;Crypt32.dll\CryptBinaryToString&quot;, &quot;Ptr&quot;,&amp;Bin, &quot;UInt&quot;,nBytes, &quot;UInt&quot;,0x1, &quot;Str&quot;,B64, &quot;UIntP&quot;,Rqd )
  If (LineLength = 64 and !LeadingSpaces)
    Return B64
  B64 := StrReplace(B64, &quot;`r`n&quot;)
  Loop % Ceil(StrLen(B64) / LineLength)
    B .= Format(&quot;{1:&quot; LeadingSpaces &quot;s}&quot;,&quot;&quot;) . SubStr(B64, N += LineLength, LineLength) . &quot;`n&quot;
Return RTrim(B,&quot;`n&quot;)
}</code></pre></div></div></div><div class="quotebox"><cite>gryphonn пишет:</cite><blockquote><p>почему-то мой звук работает не так хорошо</p></blockquote></div><p>Я не знаю, как он должен работать хорошо, поэтому не могу сказать, сам никаких дефектов не слышу. Но сам звук резкий и неприятный, аудио плеер сглаживает начало и конец, там он звучит более-менее приемлимо. PlaySound, конечно, этого не делает.<br />Что касается размера, то частота дискретизации в 4 раза, а битность в 2 раза больше относительно моего, итоговый битрейт выходит в 8 раз больше.<br />Я сжал ваш файл в AIMP, в результате он потерял басы и стал звучать более мягко:</p><div class="codebox"><pre><code>UklGRvkBAABXQVZFZm10IBAAAAABAAEAESsAABErAAABAAgAZGF0YdUBAAB/gHx7bnBieXlnaYGCd4mMfYueiXtwb3mafntvOwgQfKFgI1u6ZFsrQJxG1JNbv4ysqZO/qo+6ubXCoqO/qpSYk3p3gnRqalZLPzQ8REJBOTxGSVZWWGVveYKIk5qZoKKosLK3tbG1sq6vq66mp52SmJGLgH16dXBwZGJmYmFdW1phYWFkbHF1enyChomOlpmfmZ6mpKOcpaSfnZuampqPi46FfoCAf3lzc3JtbW9wbm5vbW5ydXd5e3+Cg4WJi42QkpGSl5qXlZuXkpWTjZCPiIeGhH99fn12dnh4dnF0dXJ0dXZ3eHx9fn6AgoeJh4iNj46QkpOSkpOSkIyOj46OjYmJhX5/fXt5eHx5enpydHVydXd1dXl8fX9+fH+BgoaJiouJi4yNjo2Ni4uLi4uJiIWEg4KBfn99fHx5eHh2dnV2dnZ3d3p6e3t7fICCgoOFhoaJiomJiomIioqJh4SEgoiBfYCAfnx9fHp7enp5eHt8f3x8gIKAh42eq7OdZ09egXWDorK1eEpZfpWLjoZ7inF0fHJqbnmTlol5bXZncZuyooZkX3OJnqqYcmBkf5agnIpxZGt/jY+GfHh8gYF/eXd6e3p9e3ZydHp+fXl3fIB/fHt+</code></pre></div><p>Что касается параллельного проигрывания, наметилось два способа:<br />мультипоточный вариант, который не будет ломаться на AHK_H;<br />использование BASS.dll, где вероятно надо разобраться как играть без создания канала или как/нужно ли закрывать каналы после проигрывания звука.</p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2017-11-10T11:07:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=121011#p121011</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Задержка при воспроизведении аудио]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=121010#p121010" />
			<content type="html"><![CDATA[<p><strong>stealzy</strong></p><p>Вопрос. Как получить данные файла в base64? Там, где кодировал я, на разных сайтах, используются следующие символы &quot;//1f/Ev8h/wf/...&quot;, у вас таких нет.</p><p>UPD. Разобрался. Но почему-то мой звук работает не так хорошо, как ваш. В чем причина? В размере?</p><p>Вот мой звук. </p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>
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
</code></pre></div></div></div>]]></content>
			<author>
				<name><![CDATA[gryphonn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38683</uri>
			</author>
			<updated>2017-11-10T07:06:42Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=121010#p121010</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Задержка при воспроизведении аудио]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=121008#p121008" />
			<content type="html"><![CDATA[<p><strong>Malcev</strong></p><p>Да, да. У меня с кодом из 3-го поста тоже звук обрывается, но без треска и щелчков. Это именно то, что было нужно!</p>]]></content>
			<author>
				<name><![CDATA[gryphonn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38683</uri>
			</author>
			<updated>2017-11-10T06:16:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=121008#p121008</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Задержка при воспроизведении аудио]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=121007#p121007" />
			<content type="html"><![CDATA[<p><strong>stealzy</strong></p><p>Вот этот ваш первый вариант опупенный. И звук классный. Работает как надо и очень быстро. Спасибо большое!</p>]]></content>
			<author>
				<name><![CDATA[gryphonn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38683</uri>
			</author>
			<updated>2017-11-10T06:13:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=121007#p121007</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Задержка при воспроизведении аудио]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=121006#p121006" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong></p><p>Попробовал несколько вариантов. Один лучше всего заработал. Реагирует почти мгновенно, но не достаточно для моей задачи. И такое ощущение, что не всегда одинаково время срабатывания. Также звук щелкает.</p>]]></content>
			<author>
				<name><![CDATA[gryphonn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38683</uri>
			</author>
			<updated>2017-11-10T06:11:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=121006#p121006</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Задержка при воспроизведении аудио]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120745#p120745" />
			<content type="html"><![CDATA[<p>Что интересно, при замене команды SoundPlay на вызов DllCall &quot;winmm.dll\PlaySound&quot; новый трек обрывает предыдущий, видимо DllCall всегда исполняются от основного потока.<br /></p><div class="codebox"><pre><code>pFn := RegisterCallback(&quot;Fn&quot;)
FileRead Bin, *c D:\dtmf.wav
h1 := CreateThread(0,0,pFn,&amp;Bin,0,0)
CloseHandle(h1)
Sleep 700
h2 := CreateThread(0,0,pFn,&amp;Bin,0,0)
CloseHandle(h2)
Sleep 1500
Return

Fn(Sound) {
	Return DllCall(&quot;winmm.dll\PlaySound&quot; (A_IsUnicode ? &quot;W&quot; : &quot;A&quot;), UInt, Sound, UInt, 0, UInt, 0x7)
	; Return DllCall(&quot;ExitThread&quot;)
}
CreateThread(ThreadAttributes, StackSize, StartAddress, Parameter, CreationFlags, ThreadId) {
	; функция создаёт поток
	; ThreadAttributes- атрибуты безопасности, почти всегда 0
	; StackSize- начальный размер стека, обычно тоже 0
	; StartAddress- адрес функции, которую будет исполнять поток
	; Parameter- параметр, который получит функция StartAddress
	; CreationFlags- флаги создания, обычно 0, иногда 4(тогда поток создаётся, но не начинает выполняться)
	; ThreadId- ссылка на переменную, в которую будет помещён идентификатор потока
	Return DllCall(&quot;CreateThread&quot;,Ptr,ThreadAttributes,Ptr,StackSize,Ptr,StartAddress,Ptr,Parameter,UInt,CreationFlags,Ptr,ThreadId)
}
CloseHandle(Handle) {
	; функция закрывает хэндл Handle
	return DllCall(&quot;CloseHandle&quot;,&quot;int&quot;,Handle)
}</code></pre></div><div class="codebox"><pre><code>FileRead WAV01, *c D:\dtmf.wav
FileRead WAV02, *c C:\explode.wav
FileRead WAV03, *c C:\applause.wav
FileRead WAV04, *c C:\chimes.wav
ArrWAV:={WAV01: &amp;WAV01, WAV02: &amp;WAV02, WAV03: &amp;WAV03, WAV04: &amp;WAV04}
Loop 4
	Gui Add, Button, gPlay, WAV0%A_Index%
Gui Show, w200
Return

Play:
	SoundPlay(ArrWAV[A_GuiControl], false)
	Return

SoundPlay(Bin, Callback:=true) {
	static pSoundPlay:=0
	if !pSoundPlay
		pSoundPlay := RegisterCallback(&quot;SoundPlay&quot;)
	if Callback
		PlaySound(Bin)
	else
		DllCall(&quot;CreateThread&quot;, UInt,0, UInt,0, UInt,pSoundPlay, Ptr,Bin, UInt,0, UInt,0)
	Return
}
PlaySound(ByRef Sound) {
	Return DllCall(&quot;winmm.dll\PlaySound&quot; (A_IsUnicode ? &quot;W&quot; : &quot;A&quot;), UInt, Sound, UInt, 0, UInt, 0x7)
}

GuiClose:
	ExitApp</code></pre></div><p>Интересно, как можно вызвать winmm.dll\PlaySound напрямую из CreateThread?</p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2017-11-04T06:06:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120745#p120745</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Задержка при воспроизведении аудио]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120677#p120677" />
			<content type="html"><![CDATA[<p><strong>Malcev</strong>, не помогло, теперь замирание происходит на ExitTread:<br /></p><div class="codebox"><pre><code>sc1E:: SoundPlay(&quot;D:\dtmf.wav&quot;, &quot;Multi&quot;)   ; a
sc1F:: SoundPlay(&quot;C:\explode.wav&quot;, &quot;Multi&quot;)  ; s
sc20:: SoundPlay(&quot;C:\applause.wav&quot;, &quot;Multi&quot;) ; d
sc21:: SoundPlay(&quot;C:\chimes.wav&quot;, &quot;Multi&quot;)   ; f

SoundPlay(Filename, wait=&quot;&quot;) {
   static pSoundPlay=0, File=0
  if !(pSoundPlay)
    pSoundPlay := RegisterCallback(&quot;SoundPlay&quot;)
  if !(Filename=0xFFFF)
    File := Filename
  if ((wait=&quot;Multi&quot;) or (wait&gt;=2)) {
    Handle := DllCall(&quot;CreateThread&quot;, Ptr, 0, Ptr, 0, Ptr, pSoundPlay, Ptr, 0xFFFF, UInt, 0, Ptr, 0)
    DllCall(&quot;CloseHandle&quot;,&quot;int&quot;,Handle)
  } else {
    SoundPlay % File, % wait
    Return DllCall(&quot;ExitThread&quot;)
  }
  Return
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2017-11-01T12:56:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120677#p120677</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Задержка при воспроизведении аудио]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120665#p120665" />
			<content type="html"><![CDATA[<p>Хэндл закрывать точно надо:<br /></p><div class="quotebox"><cite>Александр_ пишет:</cite><blockquote><p>Прошу обратить внимание на 2 момента, касающихся потоков:<br />1) Нужно всегда закрывать дескрипторы потоков- если код потока завершился, а дескриптор остался, то поток &quot;жив&quot;.<br />2) Нельзя использовать функцию TerminateThread в приложениях.</p></blockquote></div><p><a href="http://forum.script-coding.com/viewtopic.php?pid=51977#p51977">http://forum.script-coding.com/viewtopi … 977#p51977</a></p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2017-10-31T18:33:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120665#p120665</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Задержка при воспроизведении аудио]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120664#p120664" />
			<content type="html"><![CDATA[<p>А разве после CreateThread, не надо вызывать ExitThread?<br />Я в keyhistory посмотрел - скрипт перестает реагировать на 10 потоке, что по-дефалту у автохотки.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2017-10-31T18:09:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120664#p120664</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Задержка при воспроизведении аудио]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120662#p120662" />
			<content type="html"><![CDATA[<p>Почему бы нет? <img src="//forum.script-coding.com/img/smilies/lol.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2017-10-31T17:14:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120662#p120662</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Задержка при воспроизведении аудио]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120661#p120661" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong>, при чем тут ОС? Она как то хитро позволяет играть звуки, но при частых нажатиях вдруг себя проявляет? <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2017-10-31T17:11:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120661#p120661</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Задержка при воспроизведении аудио]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120660#p120660" />
			<content type="html"><![CDATA[<p>Ну так у вас же какая-то хитрая сборка Windows вроде?</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2017-10-31T17:10:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120660#p120660</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Задержка при воспроизведении аудио]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120659#p120659" />
			<content type="html"><![CDATA[<p>Аналогично и с вашим последним вариантом, замирает после 5-8 секунд стучания по кнопкам. В листинге вечно исполняется:<br />015: SoundPlay,File,wait (20.36)<br />Звука при этом, разумеется, нет.</p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2017-10-31T17:08:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120659#p120659</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Задержка при воспроизведении аудио]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120658#p120658" />
			<content type="html"><![CDATA[<p>Пробовал так:<br /></p><div class="codebox"><pre><code>sc1E:: SoundPlay(&quot;C:\Windows\Media\Windows Exclamation.wav&quot;, &quot;Multi&quot;)  ; a
sc1F:: SoundPlay(&quot;C:\Windows\Media\Windows Logon Sound.wav&quot;, &quot;Multi&quot;)  ; s
sc20:: SoundPlay(&quot;C:\Windows\Media\Windows Logoff Sound.wav&quot;, &quot;Multi&quot;) ; d
sc21:: SoundPlay(&quot;C:\Windows\Media\ir_inter.wav&quot;, &quot;Multi&quot;)             ; f

SoundPlay(Filename, wait=&quot;&quot;) {
   static pSoundPlay=0, File=0
  if !(pSoundPlay)
    pSoundPlay := RegisterCallback(&quot;SoundPlay&quot;)
  if !(Filename=0xFFFF)
    File := Filename
  if (wait=&quot;Multi&quot;) or (wait&gt;=2)
    DllCall(&quot;CreateThread&quot;, UInt,0, UInt,0, UInt,pSoundPlay, UInt,0xFFFF, UInt,0, UInt,0)
  else
    SoundPlay % File, % wait
  Return
}</code></pre></div><p>Вообще-то там размерность некорректная, правильно так:<br /></p><div class="codebox"><pre><code>sc1E:: SoundPlay(&quot;C:\Windows\Media\Windows Exclamation.wav&quot;, &quot;Multi&quot;)  ; a
sc1F:: SoundPlay(&quot;C:\Windows\Media\Windows Logon Sound.wav&quot;, &quot;Multi&quot;)  ; s
sc20:: SoundPlay(&quot;C:\Windows\Media\Windows Logoff Sound.wav&quot;, &quot;Multi&quot;) ; d
sc21:: SoundPlay(&quot;C:\Windows\Media\ir_inter.wav&quot;, &quot;Multi&quot;)             ; f

SoundPlay(Filename, wait=&quot;&quot;) {
   static pSoundPlay=0, File=0
  if !(pSoundPlay)
    pSoundPlay := RegisterCallback(&quot;SoundPlay&quot;)
  if !(Filename=0xFFFF)
    File := Filename
  if (wait=&quot;Multi&quot;) or (wait&gt;=2)
    DllCall(&quot;CreateThread&quot;, Ptr, 0, Ptr, 0, Ptr, pSoundPlay, Ptr, 0xFFFF, UInt, 0, Ptr, 0)
  else
    SoundPlay % File, % wait
  Return
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2017-10-31T17:03:26Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120658#p120658</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Задержка при воспроизведении аудио]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120656#p120656" />
			<content type="html"><![CDATA[<p><strong>stealzy</strong>, на семёрке или на десятке пробовали?</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2017-10-31T16:54:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120656#p120656</id>
		</entry>
</feed>
