使用python代码调用三汇语音卡硬件拨打电话

系统 2572 0
            
              def push_notification_by_call(voice, worker_phone_num):
    """
    语音提醒
    :param voice: 音频文件
    :param worker_phone_num: 用户电话
    :return:
    """
    phone_num = str(worker_phone_num)
    shap3 = ctypes.cdll.LoadLibrary("C:\Windows\SHP_A3.dll")  # 加载动态链接库
    shap3.SsmStartCti(path.join(src, 'ShCti\ShConfig.ini\0'),
                      path.join(src, 'ShCti\ShIndex.ini\0'))  # 初始化驱动
    ch = shap3.SsmSearchIdleCallOutCh(1, 0)  # 搜索空闲通道
    ret_1 = shap3.SsmAddToFileList(ch, voice, -1, 0, -1)  # 向驱动程序提交一个需要播放的语音文件
    ret_2 = shap3.SsmSetPlayVolume(ch, 3)  # 设置播放语音文件的声音大小
    ret_3 = shap3.SsmPickup(ch)  # 通道摘机
    # shap3.SsmSetCalleeHookDetectP(ch, 6, 48)  # 增强的远端摘机检测器参数设置
    # shap3.SsmStartPickupAnalyze(ch)  # 启动“增强的远端摘机检测器”
    ret_4 = shap3.SsmSetWaitAutoDialAnswerTimeEx(ch, 25)  # 设置一个通道等待被叫用户摘机的最大等待时间
    ret_5 = shap3.SsmAutoDial(ch, phone_num)  # 拨打电话
    start_time = time.time()
    while True:  # 实时查询当前通道状态(时间间隔0.1秒)
        time.sleep(0.1)
        # if shap3.SsmGetPickup(ch) == 1:  # 判断被叫用户是否摘机
        ret_7 = shap3.SsmGetChState(ch)
        if shap3.SsmGetChState(ch) == 3:
            shap3.SsmPlayFileList(ch)  # 播放已添加的语音文件
        if shap3.SsmGetChState(ch) == 7:
            ret_6 = shap3.SsmGetPendingReason(ch)
            if ret_6 == 0:
                print "未检测到拨号音, 请检查是否插电话线"
            # elif ret_6 == 4:
            #     print "通道在“连接”状态时检测到对端用户挂机"
            shap3.SsmStopPlayFileList(ch)  # 停止播放语音文件
            break
        end_time = time.time()
        max_time = end_time - start_time
        if max_time >= 120:  # 设置通话最大时长
            break
    shap3.SsmHangup(ch)  # 通道挂断
    shap3.SsmClearFileList(ch)  # 关闭并清除已提交给驱动程序的全部语音文件
    shap3.SsmCloseCti()  # 关闭驱动程序
            
          

使用python代码调用三汇语音卡硬件拨打电话_第1张图片


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论