Тема: AHK: воспроизведение звукого файла с помощью PlaySound в Ahk_H v2
Здравствуйте!
Возможно это не совсем подходящий форум по вопросам AHK V2, но всё же вопрос идёт с проблемой вызова Playsound, может быть знающие смогут мне объяснить, почему функция отказывается принимать мой файл, который я поместил в буфер?
Это метод воспроизведения для AHK_L:
fileread,sound,*c C:\Windows\Media\notify.wav
PlaySound(sound)
Sleep, 1000
ExitApp
PlaySound(sound) {
DllCall("winmm.dll\PlaySound","uint",&sound,"uint",0,"uint",0x4)
}
В AHK_L Функция PlaySound спокойно принимает буфер данные, используя на конце код 0x4.
Используя AHK_H V2, я сталкиваюсь с некоторыми проблемами:
sound := fileread("C:\Windows\Media\notify.wav", "RAW")
PlaySound(sound)
Sleep 1000
ExitApp
PlaySound(sound) {
DllCall("winmm.dll\PlaySound","uint",&sound,"uint",0,"uint",0x4)
}
Мне пишет:
Что же я делаю не так?Возможно AHK_H V2 передаёт параметры неправильно?Или я делаю что-то не так?
UPD:
На зарубежном форуме мне помогли найти ответ:
Sound := FileRead("C:\1.wav", "RAW")
PlaySound(Sound)
Sleep 1000
PlaySound( Sound ) {
Return DllCall("winmm.dll\PlaySound" ( 1 ? "W" : "A" ), "Ptr", Sound, "UInt", 0
, "UInt", ((SND_MEMORY:=0x4)|(SND_NODEFAULT:=0x2)))
}
Вопрос решён.