Я пытаюсь воспроизвести файл .mp3 в Python, используя winmm.dll (ctypes.windll.winmm). Но когда я пытаюсь получить длину некоторого файла в миллисекундах, вместо фактической длины (05:23 = около 323000 мс) я получаю всего 3. Формат времени, полученный командой статуса, — «m», и после этого он не меняется. установить команду. Вот код, иллюстрирующий проблему:
Я пытаюсь воспроизвести файл .mp3 в Python, используя winmm.dll (ctypes.windll.winmm). Но когда я пытаюсь получить длину некоторого файла в миллисекундах, вместо фактической длины (05:23 = около 323000 мс) я получаю всего 3. Формат времени, полученный командой статуса, — «m», и после этого он не меняется. установить команду. Вот код, иллюстрирующий проблему:
[code]from ctypes import windll, c_buffer
fp = 'song.mp3' alias = 'test'
buf = c_buffer(255) r = windll.winmm.mciSendStringW(f'open "{fp}" alias {alias}', buf, 254, 0) print(r)
buf = c_buffer(255) r = windll.winmm.mciSendStringW(f'status {alias} time format', buf, 254, 0) print(r, buf.value)
buf = c_buffer(255) r = windll.winmm.mciSendStringW(f'set {alias} time format milliseconds', buf, 254, 0) print(r)
buf = c_buffer(255) r = windll.winmm.mciSendStringW(f'status {alias} time format', buf, 254, 0) print(r, buf.value)