def METHOD_NAME(self, uuid):
    # 在一个异步线程中采集音频
    import nls  # pip install git+https://github.com/aliyun/alibabacloud-nls-python-sdk.git
    import tempfile
    from scipy import io
    from toolbox import get_conf
    from .audio_io import change_sample_rate
    from .audio_io import RealtimeAudioDistribution
    NEW_SAMPLERATE = 16000
    rad = RealtimeAudioDistribution()
    rad.clean_up()
    temp_folder = tempfile.gettempdir()
    TOKEN, APPKEY = get_conf('ALIYUN_TOKEN', 'ALIYUN_APPKEY')
    if len(TOKEN) == 0:
        TOKEN = self.get_token()
    self.aliyun_service_ok = True
    URL="wss://nls-gateway.aliyuncs.com/ws/v1"
    sr = nls.NlsSpeechTranscriber(
                url=URL,
                token=TOKEN,
                appkey=APPKEY,
                on_sentence_begin=self.test_on_sentence_begin,
                on_sentence_end=self.test_on_sentence_end,
                on_start=self.test_on_start,
                on_result_changed=self.test_on_result_chg,
                on_completed=self.test_on_completed,
                on_error=self.test_on_error,
                on_close=self.test_on_close,
                callback_args=[uuid.hex]
            )
    r = sr.start(aformat="pcm",
            enable_intermediate_result=True,
            enable_punctuation_prediction=True,
            enable_inverse_text_normalization=True)
    while not self.stop:
        # time.sleep(self.capture_interval)
        audio = rad.read(uuid.hex) 
        if audio is not None:
            # convert to pcm file
            temp_file = f'{temp_folder}/{uuid.hex}.pcm' # 
            dsdata = change_sample_rate(audio, rad.rate, NEW_SAMPLERATE) # 48000 --> 16000
            io.wavfile.write(temp_file, NEW_SAMPLERATE, dsdata)
            # read pcm binary
            with open(temp_file, "rb") as f: data = f.read()
            # print('audio len:', len(audio), '\t ds len:', len(dsdata), '\t need n send:', len(data)//640)
            slices = zip(*(iter(data),) * 640)    # 640个字节为一组
            for i in slices: sr.send_audio(bytes(i))
        else:
            time.sleep(0.1)
        if not self.aliyun_service_ok:
            self.stop = True
            self.stop_msg = 'Aliyun音频服务异常，请检查ALIYUN_TOKEN和ALIYUN_APPKEY是否过期。'
    r = sr.stop()