返回声音的当前坐标.
#include <Sound.au3>
_SoundPos ( $aSnd_id [, $iMode ] )
$aSnd_id | 由 _SoundOpen() 返回的声音数组 ID 或文件名称 |
$iMode | [可选参数] 声音返回位置的格式 1 = hh:mm:ss h = 小时, m = 分钟 与 s = 秒 2 = 毫秒 |
成功: | 返回声音位置 |
失败: | 返回 0, 并设置 @error: |
@error: | 1 = $iMode 无效 |
3 = 无效的声音标识. 使用 _SoundOpen()返回的数组或有效文件名. |
#include <Sound.au3>
Local $aSound = _SoundOpen(@WindowsDir & "\media\tada.wav")
If @error = 2 Then
MsgBox(4096, "错误", "文件不存在")
Exit
ElseIf @extended <> 0 Then
Local $iExtended = @extended ;赋值, 因为 @extended 可能会在 DllCall 后被设置成其它返回值
Local $tText = DllStructCreate("char[128]")
DllCall("winmm.dll", "short", "mciGetErrorStringA", "str", $iExtended, "ptr", DllStructGetPtr($tText), "int", 128)
MsgBox(4096, "错误", "The open failed." & @CRLF & "Error Number: " & $iExtended & @CRLF & "Error Description: " & DllStructGetData($tText, 1) & @CRLF & "Please Note: The sound may still play correctly.")
Else
MsgBox(4096, "Success", "The file opened successfully")
EndIf
_SoundPlay($aSound, 0)
SplashTextOn("Current Position", _SoundPos($aSound, 1), 300, 90, Default, Default, 18, Default, 55)
While 1
Sleep(100)
ControlSetText("Current Position", "", "Static1", _SoundPos($aSound, 1))
If _SoundPos($aSound, 2) >= _SoundLength($aSound, 2) Then ExitLoop
WEnd
_SoundClose($aSound)