Playsound с китайскими символами в имени файла - PullRequest
0 голосов
/ 06 апреля 2019

Пытаюсь воспроизвести звук с помощью модуля playsound.Проблема в том, что это работает, только если в имени файла нет китайских символов.Но я хочу воспроизвести звук с китайскими иероглифами в имени файла.

Я подумал, что могу избежать этой проблемы, переименовав файл в tmp.wav, а затем воспроизведя tmp.wav.Теперь у меня проблема, что это работает только один раз.После этого возникает следующая ошибка:

сообщение об ошибке: строка 752, в play_now os.remove ('tmp' + wav_ext) PermissionError: [WinError 32] Процесс не может получить доступ к файлу, поскольку он находится в процессеиспользуется другим процессом: 'tmp.wav'

Я предполагаю, что playsound не закрывает файл после его завершения воспроизведения.Это так?

Я попытался заменить False на True, а также добавить некоторое время сна.Конечно, я подождал, пока не убедился, что звук закончился.

import playsound as ps
import os
def play_now(event, song):
    print(song)

    if len(song)>0:
        wav_ext = '.'+song.split('.')[-1]

        if os.path.isfile('tmp'+wav_ext):
                os.remove('tmp'+wav_ext)
        os.rename(song,'tmp'+wav_ext)
        ps.playsound('tmp'+wav_ext, False)

1 Ответ

0 голосов
/ 18 апреля 2019

ок, сейчас пользуюсь микшером от pygame. Работает легко и быстро. Мне больше не нужен ответ на вышеуказанный вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...