Я пытаюсь написать потоковый аудио-клиент, и я бы хотел использовать функции ossaudiodev, чтобы помочь мне воспроизвести аудио на моем локальном компьютере. К сожалению, я получаю исключение каждый раз, когда пытаюсь запустить свой код:
Unhandled exception in thread started by <function audioplayer at 0x88e96f4>
Traceback (most recent call last):
File "client.py", line 56, in audioplayer
audio = ossaudiodev.open("/dev/audio", 'w')
IOError: [Errno 16] Device or resource busy: '/dev/audio'
Вот мой код. Довольно простые метинки, но не уверен, как освободить ресурс / dev / audio.
def audioplayer():
audio = ossaudiodev.open("/dev/audio", 'w')
audio.setfmt(ossaudiodev.AFMT_MU_LAW)
audio.channels(2)
audio.speed(8000)
packet = 0
sleep(.20) # give it a little bit of time to fill ze buffers
while (packets[packet] != "\0"):
audio.write(packets[packet])
packet += 1
Есть какие-нибудь хитрости к этому?
Редактировать: Ответ очевиден и глуп. Я играл на Пандоре во время выполнения кода, поэтому ораторы были «заняты» этим. Кто-нибудь может уточнить, почему это так? Как другие приложения могут одновременно запускать несколько аудиопотоков, а я, похоже, не могу?