def PlayWaveFile(filePath: str = r'<STR_LIT>', isAsync: bool = False, isLoop: bool = False) -> bool:
if filePath:<EOL><INDENT>SND_ASYNC = <NUM_LIT><EOL>SND_NODEFAULT = <NUM_LIT><EOL>SND_LOOP = <NUM_LIT><EOL>SND_FILENAME = <NUM_LIT><EOL>flags = SND_NODEFAULT | SND_FILENAME<EOL>if isAsync:<EOL><INDENT>flags |= SND_ASYNC<EOL><DEDENT>if isLoop:<EOL><INDENT>flags |= SND_LOOP<EOL>flags |= SND_ASYNC<EOL><DEDENT>return bool(ctypes.windll.winmm.PlaySoundW(ctypes.c_wchar_p(filePath), ctypes.c_void_p(<NUM_LIT:0>), flags))<EOL><DEDENT>else:<EOL><INDENT>return bool(ctypes.windll.winmm.PlaySoundW(ctypes.c_wchar_p(<NUM_LIT:0>), ctypes.c_void_p(<NUM_LIT:0>), <NUM_LIT:0>))<EOL><DEDENT>
Call PlaySound from Win32.
filePath: str, if emtpy, stop playing the current sound.
isAsync: bool, if True, the sound is played asynchronously and returns immediately.
isLoop: bool, if True, the sound plays repeatedly until PlayWaveFile(None) is called again, must also set isAsync to True.
Return bool, True if succeed otherwise False.