Портирование Python 2–3, сравнение байтов со строкой

Я нашел звуковой модуль "swmixer", который кажется идеальным для моего проекта. К сожалению, он написан на Python 2, в то время как мой проект на Python 3. Я пытаюсь его портировать, но этот фрагмент кода доставляет мне проблемы.

        data = []
        r = ' '
        while r != '':
            r = wf.readframes(4096)
            data.append(r)

Весь код "swmixer.py" можно найти здесь, строка 275.

Я считаю, что проблема в том, что r - это байты, и он сравнивается со строкой ''. Что стало проблемой с Python 3. Он застревает в цикле while навсегда, потому что r никогда не будет равным ''. Я перепробовал множество вещей, но не могу понять, как правильно сделать преобразование.

Мой код пытается воспроизвести файл.wav:

import swmixer
import time

swmixer.init(samplerate=44100, chunksize=1024, stereo=False)
swmixer.start()
snd = swmixer.Sound("hold.wav")
snd.play()
time.sleep(2.0) #don't quit before we hear the sound!

Какие-либо предложения? Спасибо!

0 ответов

Другие вопросы по тегам