Портирование 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!
Какие-либо предложения? Спасибо!