在按键上播放音频

时间:2019-03-27 07:51:10

标签: autohotkey

我正在尝试创建一个脚本,该脚本将播放音频并在播放完成时关闭播放器。我设法将其分配给组合键 CTRL + *

target_app = "C:\Program Files (x86)\Windows Media Player\wmplayer.exe"
target_filepath = "C:\some_audio.mp3"
^NumpadMult::Run, %target_app% %target_filepath%

这只是启动Windows Media Player并播放音频,但是在音频播放完毕后,播放器仍保持打开状态。我也想关闭播放器。

我刚刚开始使用AutoHotkey,但不知道如何解决。我需要执行以下操作:

  • 读取音频的持续时间(
  • 设置超时(使用音频持续时间)(
    • 关闭播放器(
  • 运行播放器并播放音频(

我该怎么做?

1 个答案:

答案 0 :(得分:2)

以防您需要检查音频持续时间:

GetAudioDuration( mFile ) {
    VarSetCapacity( DN, 16 ), DLLFunc := "winmm.dll\mciSendString" ( A_IsUnicode ? "W" : "A" )
    DllCall( DLLFunc, Str, "open " """" mFile """" " Alias MP3", UInt, 0, UInt, 0, UInt, 0 )
    DllCall( DLLFunc, Str, "status MP3 length", Str, DN, UInt, 16, UInt, 0 )
    DllCall( DLLFunc, Str, "close MP3", UInt, 0, UInt, 0, UInt, 0 )
    Return DN
}

MsgBox, % GetAudioDuration( "C:\WINDOWS\Media\ding.wav" ) ; returns 397 (Windows 10)

Original Post