async def test_play_online_audio():
    """测试播放在线音效

    使机器人播放一段在线音效,地址为"http://yun.lnpan.com/music/download/ring/000/075/5653bae83917a892589b372782175dd8.amr"

    并等待结果

    #PlayAudioResponse.isSuccess : 是否成功

    #PlayAudioResponse.resultCode : 返回码

    """
    # 播放音效, url表示要播放的音效列表
    block: PlayAudio = PlayAudio(
        url=
        "http://m701.music.126.net/20200716202257/96afe9e97970c4ff21049189c2611010/jdymusic/obj/w5zDlMODwrDDiGjCn8Ky/1497471810/ae4f/3676/98a8/c98c5b9f5350b8dcb34dfb81f94e73ec.mp3",
        storage_type=AudioStorageType.NET_PUBLIC)
    # response是个PlayAudioResponse
    (resultType, response) = await block.execute()

    # await asyncio.sleep(3)
    #
    # # 停止所有声音
    # block: StopAllAudio = StopAllAudio()
    # (resultType, response) = await block.execute()

    print(f'test_play_online_audio result: {response}')
    print('resultCode = {0}, error = {1}'.format(
        response.resultCode, errors.get_speech_error_str(response.resultCode)))

    assert resultType == MiniApiResultType.Success, 'test_play_online_audio timetout'
    assert response is not None and isinstance(
        response,
        PlayAudioResponse), 'test_play_online_audio result unavailable'
    assert response.isSuccess, 'test_play_online_audio failed'
async def test_play_local_audio():
    """测试播放本地音效

    使机器人播放一段本地内置音效,音效名称为"read_016",并等待结果

    #PlayAudioResponse.isSuccess : 是否成功

    #PlayAudioResponse.resultCode : 返回码

    """

    block: PlayAudio = PlayAudio(url="read_016",
                                 storage_type=AudioStorageType.PRESET_LOCAL)
    # response是个PlayAudioResponse
    (resultType, response) = await block.execute()

    print(f'test_play_local_audio result: {response}')
    print('resultCode = {0}, error = {1}'.format(
        response.resultCode, errors.get_speech_error_str(response.resultCode)))

    assert resultType == MiniApiResultType.Success, 'test_play_local_audio timetout'
    assert response is not None and isinstance(
        response,
        PlayAudioResponse), 'test_play_local_audio result unavailable'
    assert response.isSuccess, 'test_play_local_audio failed'
async def test_play_tts3():

    # control_type: TTSControlType.START: 播放tts; TTSControlType.STOP: 停止tts
    #block3: PlayTTS = PlayTTS(text="伤心伤心伤心伤心伤心伤心", control_type=TTSControlType.START)
    block: PlayTTS = PlayTTS(text="别伤心啦,我给你讲个笑话吧",
                             control_type=TTSControlType.START)
    block1: PlayTTS = PlayTTS(text="妈妈,老鼠跳进咱家那奶桶里了!哎呀!你把它捉出来了吗?没有,但我把咱的猫放进去了",
                              control_type=TTSControlType.START)
    block2: PlayTTS = PlayTTS(text="怎么样,心情好点了吗",
                              control_type=TTSControlType.START)
    # 返回元组, response是个ControlTTSResponse
    #(resultType, response) = await block3.execute()
    (resultType, response) = await block.execute()
    (resultType, response) = await block1.execute()
    await asyncio.sleep(8)
    (resultType, response) = await block2.execute()
    print(f'test_play_tts result: {response}')
    # PlayTTS block的response包含resultCode和isSuccess
    # 如果resultCode !=0 可以通过errors.get_speech_error_str(response.resultCode)) 查询错误描述信息
    print('resultCode = {0}, error = {1}'.format(
        response.resultCode, errors.get_speech_error_str(response.resultCode)))

    assert resultType == MiniApiResultType.Success, 'test_play_tts timetout'
    assert response is not None and isinstance(
        response, ControlTTSResponse), 'test_play_tts result unavailable'
    assert response.isSuccess, 'test_play_tts failed'
Esempio n. 4
0
async def test_play_online_audio():
    """测试播放在线音效

    使机器人播放一段在线音效,例如"http://hao.haolingsheng.com/ring/000/995/52513bb6a4546b8822c89034afb8bacb.mp3"

    支持格式有mp3,amr,wav 等

    并等待结果

    #PlayAudioResponse.isSuccess : 是否成功

    #PlayAudioResponse.resultCode : 返回码

    """
    # 播放音效, url表示要播放的音效列表
    block: PlayAudio = PlayAudio(
        url=
        "http://hao.haolingsheng.com/ring/000/995/52513bb6a4546b8822c89034afb8bacb.mp3",
        storage_type=AudioStorageType.NET_PUBLIC)
    # response是个PlayAudioResponse
    (resultType, response) = await block.execute()

    print(f'test_play_online_audio result: {response}')
    print('resultCode = {0}, error = {1}'.format(
        response.resultCode, errors.get_speech_error_str(response.resultCode)))

    assert resultType == MiniApiResultType.Success, 'test_play_online_audio timetout'
    assert response is not None and isinstance(
        response,
        PlayAudioResponse), 'test_play_online_audio result unavailable'
    assert response.isSuccess, 'test_play_online_audio failed'
Esempio n. 5
0
async def test_stop_play_tts():
    """测试停止播放tts

    使机器人开始播放一段长文本tts,内容为"你好, 我是悟空, 啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦",不等待结果
    2s后,使机器人停止播放tts

    #ControlTTSResponse.isSuccess : 是否成功

    #ControlTTSResponse.resultCode : 返回码

    """
    # is_serial:串行执行
    # text:要合成的文本
    block: StartPlayTTS = StartPlayTTS(
        is_serial=False, text="你好, 我是悟空, 啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦")
    # 返回bool 表示是否发送成功
    await block.execute()

    await asyncio.sleep(2)

    (resultType, response) = await StopPlayTTS().execute()

    print(f'test_stop_play_tts result: {response}')
    # StopPlayTTS block的response包含resultCode和isSuccess
    # 如果resultCode !=0 可以通过errors.get_speech_error_str(response.resultCode)) 查询错误描述信息
    print('resultCode = {0}, error = {1}'.format(
        response.resultCode, errors.get_speech_error_str(response.resultCode)))

    assert resultType == MiniApiResultType.Success, 'test_stop_play_tts timetout'
    assert response is not None and isinstance(
        response, ControlTTSResponse), 'test_stop_play_tts result unavailable'
    assert response.isSuccess, 'test_stop_play_tts failed'
Esempio n. 6
0
async def test_play_tts():
    """测试播放tts

    使机器人开始播放一段tts,内容为"你好, 我是悟空, 啦啦啦",并等待结果

    #ControlTTSResponse.isSuccess : 是否成功

    #ControlTTSResponse.resultCode : 返回码

    """
    # is_serial:串行执行
    # text:要合成的文本
    block: StartPlayTTS = StartPlayTTS(text="你好, 我是悟空, 啦啦啦")
    # 返回元组, response是个ControlTTSResponse
    (resultType, response) = await block.execute()

    print(f'test_play_tts result: {response}')
    # StartPlayTTS block的response包含resultCode和isSuccess
    # 如果resultCode !=0 可以通过errors.get_speech_error_str(response.resultCode)) 查询错误描述信息
    print('resultCode = {0}, error = {1}'.format(
        response.resultCode, errors.get_speech_error_str(response.resultCode)))

    assert resultType == MiniApiResultType.Success, 'test_play_tts timetout'
    assert response is not None and isinstance(
        response, ControlTTSResponse), 'test_play_tts result unavailable'
    assert response.isSuccess, 'test_play_tts failed'
Esempio n. 7
0
async def test_play_tts10():
    # control_type: TTSControlType.START: 播放tts; TTSControlType.STOP: 停止tts
    block: PlayTTS = PlayTTS(text="请踢腿", control_type=TTSControlType.START)
    # 返回元组, response是个ControlTTSResponse
    (resultType, response) = await block.execute()

    print(f'test_play_tts result: {response}')
    # PlayTTS block的response包含resultCode和isSuccess
    # 如果resultCode !=0 可以通过errors.get_speech_error_str(response.resultCode)) 查询错误描述信息
    print('resultCode = {0}, error = {1}'.format(
        response.resultCode, errors.get_speech_error_str(response.resultCode)))

    assert resultType == MiniApiResultType.Success, 'test_play_tts timetout'
    assert response is not None and isinstance(
        response, ControlTTSResponse), 'test_play_tts result unavailable'
    assert response.isSuccess, 'test_play_tts failed'
async def test_play_tts0():
    """测试播放tts

    使机器人开始播放一段tts,内容为"你好, 我是悟空, 啦啦啦",并等待结果

    control_type可选TTSControlType.START/TTSControlType.STOP

    #ControlTTSResponse.isSuccess : 是否成功

    #ControlTTSResponse.resultCode : 返回码

    """
    # is_serial:串行执行
    # text:要合成的文本
    # control_type: TTSControlType.START: 播放tts; TTSControlType.STOP: 停止tts
    #block: PlayTTS = PlayTTS(text="你好,我是你的新朋友,你可以叫我悟空", control_type=TTSControlType.START)
    #block1: PlayTTS = PlayTTS(text="你可以试着对我做个表情或动作", control_type=TTSControlType.START)
    block2: PlayTTS = PlayTTS(text="你看起来好开心啊",
                              control_type=TTSControlType.START)
    # 返回元组, response是个ControlTTSResponse
    #(resultType, response) = await block.execute()
    #await asyncio.sleep(2)
    #(resultType, response) = await block1.execute()
    #await asyncio.sleep(2)
    (resultType, response) = await block2.execute()

    print(f'test_play_tts result: {response}')
    # PlayTTS block的response包含resultCode和isSuccess
    # 如果resultCode !=0 可以通过errors.get_speech_error_str(response.resultCode)) 查询错误描述信息
    print('resultCode = {0}, error = {1}'.format(
        response.resultCode, errors.get_speech_error_str(response.resultCode)))

    assert resultType == MiniApiResultType.Success, 'test_play_tts timetout'
    assert response is not None and isinstance(
        response, ControlTTSResponse), 'test_play_tts result unavailable'
    assert response.isSuccess, 'test_play_tts failed'