首页 > 解决方案 > 我可以在 Google 客户端库中互换使用 ctypes.LP_c_char 和 bytes 对象吗

问题描述

在 Google 客户端库中从麦克风流式传输的示例中:Google 流式传输示例

我在填充缓冲区回调中放置了一个打印行来打印 in_data 的类型,如下所示:

def _fill_buffer(self, in_data, frame_count, time_info, status_flags):
    """Continuously collect data from the audio stream, into the buffer."""
    print(type(in_data))
    self._buff.put(in_data)

    if time.time() - self._start_time > TIME_OUT:
        self.closed = True

    return None, pyaudio.paContinue

我得到的是类型:class 'bytes'

我在 c 中编写了一个共享库,用于预处理音频数据,然后将此数据填充到上述回调中。我从 c 收到的数据类型是:类'ctypes.LP_c_char',我可以将它与字节类互换使用,或者我必须将 ctypes.LP_c_char 转换为字节(使用列表切片)。由于流媒体的目的,我不想转换。

标签: pythonctypesgoogle-speech-api

解决方案


推荐阅读