【发布时间】:2019-05-28 08:00:11
【问题描述】:
我想在异步上下文中使用 PyAudio 库,但该库的主入口点只有一个基于回调的 API:
import pyaudio
def callback(in_data, frame_count, time_info, status):
# Do something with data
pa = pyaudio.PyAudio()
self.stream = self.pa.open(
stream_callback=callback
)
我希望如何使用它是这样的:
pa = SOME_ASYNC_COROUTINE()
async def listen():
async for block in pa:
# Do something with block
问题是,我不确定如何将此回调语法转换为回调触发时完成的未来。在 JavaScript 中我会使用 promise.promisify(),但 Python 似乎没有类似的东西。
【问题讨论】:
标签: python python-3.x asynchronous python-asyncio pyaudio