Function Reference

_SoundLength

音声ファイルの長さを返します。

#include <Sound.au3>
_SoundLength ( $aSnd_id [, $iMode ] )

 

パラメータ

$sSnd_id _SoundOpen()によって返される音声ID、またはファイル名
$iMode [オプション]返される音声の長さのフォーマットを決めるフラグ
1 = hh:mm:ss h = 時間、m = 分、s = 秒
2 = ミリ秒

 

返し値

成功: 音声の長さ
失敗: 0を返し、@errorを設定します。
@error: 1 = $iModeが無効です。
3 = 無効な音声IDです。_SoundOpen()の返す配列または有効なファイル名を使用して下さい。

 

注意

この関数はエンコーディング方法、パラメータタイプに依らず、最も適当な値を返します。
なし。

 

関連

_SoundPos, _SoundOpen

 


#include <Sound.au3>

;音声ファイルを開く : Vistaで実行する場合は変更する必要あり
$sound = _SoundOpen(@WindowsDir & "\media\Windows XP Startup.wav")
If @error = 2 Then
    MsgBox(0, "Error", "The file does not exist")
    Exit
ElseIf @extended <> 0 Then
    $extended = @extended ;DllCall後に@extendedが設定されるので代入
    $stText = DllStructCreate("char[128]")
    $errorstring = DllCall("winmm.dll", "short", "mciGetErrorStringA", "str", $extended, "ptr", DllStructGetPtr($stText), "int", 128)
    MsgBox(0, "Error", "The open failed." & @CRLF & "Error Number: " & $extended & @CRLF & "Error Description: " & DllStructGetData($stText, 1) & @CRLF & "Please Note: The sound may still play correctly.")
Else
    MsgBox(0, "Success", "The file opened successfully")
EndIf
MsgBox(0, "Sound Length", "The Sound has a length of:" & @CRLF & "hh:mm:ss - " & _
        _SoundLength($sound, 1) & @CRLF & "Milliseconds - " & _SoundLength($sound, 2))