
    Sܶi                     .    d Z ddlZddlmZ deddfdZdS )z:Functions to play audio on Windows using native win32 APIs    N   )pr_err	mp3_fnamereturnc                    t           j        dk    rt          d          ddlmm}m} |j        j        |j	        |j
        |j        g_        |j        _        dt          dt          ffd}|j        j        dt          dd	ffd
} ||           } |d            |d| d            |d            |d           d	S )z-Play mp3 file with given path using win32 APIwin32z"Function only available on Windowsr   )create_unicode_bufferwindllwintypes	long_namer   c                 Z    d}	  |          } | ||          }||k    r|j         S |}()z|
        Gets the DOS-safe short path name of a given long path.
        http://stackoverflow.com/a/23598461/200291
        r   )value)r   output_buf_size
output_bufneeded_get_short_path_name_wr	   s       _/root/projects/openclaw-proxy/venv/lib/python3.11/site-packages/edge_playback/win32_playback.pyget_short_path_namez+play_mp3_win32.<locals>.get_short_path_name   sQ    
 	%..??J++Iz?SSF&((!''$O	%    msgNc                      | ddd          }|dk    r,t          d| d|  d           t          j        d           dS dS )zSend MCI command stringr   zError z in mciSendString z
. Exiting.r   N)r   sysexit)r   resultmci_send_string_ws     r   mci_sendz play_mp3_win32.<locals>.mci_send(   s\    ""31a00Q;;EFEEcEEEFFFHQKKKKK ;r   z	Close AllzOpen "z" Type MPEGVideo Alias theMP3zPlay theMP3 WaitzClose theMP3)r   platformNotImplementedErrorctypesr	   r
   r   kernel32GetShortPathNameWLPCWSTRLPWSTRDWORDargtypesrestypestrwinmmmciSendStringW)	r   r
   r   r   r   mp3_shortnamer   r	   r   s	         @@@r   play_mp3_win32r+      sE    |w!"FGGG ?>>>>>>>>>#_>'#
 &.^"%s %s % % % % % % % 3c d       ('	22MH[HBmBBBCCCH   H^r   )__doc__r   utilr   r'   r+    r   r   <module>r/      sR    @ @ 



      ,c ,d , , , , , ,r   