怎样通过Go语言实现远程语音播报呢?
本文描述了使用Go语言调用HTTP接口,实现语音播报,通过发送文本信息,来实现远程语音播报、语音提醒、语音警报等。
可选用产品:可根据实际场景需求,选择对应的规格
序号 | 设备名称 | 厂商 |
---|---|---|
1 | 智能WiFi语音喇叭3 | 统软云物联 |
2 | 智能WiFi语音喇叭Mini | |
3 | 智能WiFi语音喇叭86型 |
下面以每款产品为例,用编程实现远程:
1. 智能WiFi语音喇叭3
远程语音播报、语音提醒、语音通知、语音警报;
广泛应用于各种线下服务的订单提醒、线下流程的语音提醒等;
无需上传录音、无需后台设置;
直接通过HTTP接口推送文本,即可实时远程语音播报;
真人发声、语调自然柔和,支持男、女音色;
双发声单元、音量大,另提供3.5mm音频输出座,可外接功放;
支持远程音量、音色、语调、语速设置;
支持多音字、支持数字(数值、金额、手机号等)读法;
内置铃声、提示音、警示音各5种;
可远程控制环状LED灯带颜色,同时实现视觉提醒;
可无缝接入各种OA、ERP、SaaS软件和低代码平台中;
即插即用,无需安装、走线;
使用Go语言调用HTTP接口控制智能WiFi语音喇叭3的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
package main
import (
"fmt"
"io/ioutil"
"net/http"
"net/url"
"strings"
)
func main() {
body, err := request()
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
func request() ([]byte, error) {
uri := "http://iot-api.unisoft.cn/{APP_ID}/device/control/?sign={sign}&ts={ts}"
payload := url.Values{}
payload.Set("device", "设备ID")
payload.Set("order", "命令")
/*
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 音量 - 可用值[0(0),1(1),2(2),3(3),4(4),5(5),6(6),7(7),8(8),9(9)]
示例[5], order为:{"volume":"5"}
2. 音色 - 可用值[0(女声),1(男声)]
示例[男声], order为:{"voice":"1"}
3. 语速 - 可用值[0(0),1(1),2(2),3(3),4(4),5(5),6(6),7(7),8(8),9(9)]
示例[5], order为:{"speed":"5"}
4. 语调 - 可用值[0(0),1(1),2(2),3(3),4(4),5(5),6(6),7(7),8(8),9(9)]
示例[5], order为:{"tone":"5"}
5. 播报 - 自定义
示例[提示音+文字], order为:{"play:gbk:16":"[message_3]欢迎光临"}
6. 铃声 - 可用值[1(1),2(2),3(3),4(4),5(5)]
示例[3], order为:{"ring":"3"}
7. 提示音 - 可用值[1(1),2(2),3(3),4(4),5(5)]
示例[3], order为:{"message":"3"}
8. 警示音 - 可用值[1(1),2(2),3(3),4(4),5(5)]
示例[3], order为:{"alert":"3"}
9. 停止 - 可用值[0(停止当前),1(全部停止)]
示例[全部停止], order为:{"stop":"1"}
10. LED灯带 - 自定义
示例[青], order为:{"led":"[0,155,155]"}
*/
req, _ := http.NewRequest("POST", uri, strings.NewReader(payload.Encode()))
req.Header.Add("X-APISpace-Token","")
req.Header.Add("Content-Type","")
res, err := http.DefaultClient.Do(req)
if err != nil {
return nil, err
}
defer res.Body.Close()
return ioutil.ReadAll(res.Body)
}
说明:{APP_ID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
2. 智能WiFi语音喇叭Mini
远程语音播报、语音提醒、语音通知;
广泛应用于各种线下服务的订单提醒、线下流程的语音提醒等;
体积小巧,方便插入、携带;
无需上传录音、无需后台设置;
直接通过HTTP接口推送文本,即可实时远程语音播报;
真人发声、语调自然柔和,支持男、女音色;
支持远程音量、音色、语调、语速设置;
内置铃声、提示音、警示音各5种;
可无缝接入各种OA、ERP、SaaS软件和低代码平台中;
使用Go语言调用HTTP接口控制智能WiFi语音喇叭Mini的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
package main
import (
"fmt"
"io/ioutil"
"net/http"
"net/url"
"strings"
)
func main() {
body, err := request()
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
func request() ([]byte, error) {
uri := "http://iot-api.unisoft.cn/{APP_ID}/device/control/?sign={sign}&ts={ts}"
payload := url.Values{}
payload.Set("device", "设备ID")
payload.Set("order", "命令")
/*
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 音量 - 可用值[0(0),1(1),2(2),3(3),4(4),5(5),6(6),7(7),8(8),9(9)]
示例[5], order为:{"volume":"5"}
2. 音色 - 可用值[0(女声),1(男声)]
示例[男声], order为:{"voice":"1"}
3. 语速 - 可用值[0(0),1(1),2(2),3(3),4(4),5(5),6(6),7(7),8(8),9(9)]
示例[5], order为:{"speed":"5"}
4. 语调 - 可用值[0(0),1(1),2(2),3(3),4(4),5(5),6(6),7(7),8(8),9(9)]
示例[5], order为:{"tone":"5"}
5. 播报 - 可用值[支付宝到账200元(到账提醒),你好,小程序上有新的业务线索:河北的刘先生要定制一款小程序,请及时处理(业务提醒),[m1]小王,请你到一下张总的办公室(工作通知(男声)),今天天气非常晴朗,暖暖的太阳照在人身上真舒服。我不禁的感叹:这真是美好的一天。最长不要超过50个字符,如果超过50个,可分多条连续下发命令。(长文本),[message_3]欢迎光临(提示音+文字),ID为[n1]888,手机号码为[n3]18500860080的客户,共消费[n2]1888元,优惠100元。(数字),请把空调调[=diao4]转一下角度(多音字),你[w0]好,你好(停顿)]
示例[提示音+文字], order为:{"play:gbk:16":"[message_3]欢迎光临"}
6. 铃声 - 可用值[1(1),2(2),3(3),4(4),5(5)]
示例[3], order为:{"ring":"3"}
7. 提示音 - 可用值[1(1),2(2),3(3),4(4),5(5)]
示例[3], order为:{"message":"3"}
8. 警示音 - 可用值[1(1),2(2),3(3),4(4),5(5)]
示例[3], order为:{"alert":"3"}
9. 停止 - 可用值[0(停止当前),1(全部停止)]
示例[全部停止], order为:{"stop":"1"}
*/
req, _ := http.NewRequest("POST", uri, strings.NewReader(payload.Encode()))
req.Header.Add("X-APISpace-Token","")
req.Header.Add("Content-Type","")
res, err := http.DefaultClient.Do(req)
if err != nil {
return nil, err
}
defer res.Body.Close()
return ioutil.ReadAll(res.Body)
}
说明:{APP_ID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
3. 智能WiFi语音喇叭86型
远程语音播报、语音提醒、语音通知、语音警报;
标准86型底盒安装;
广泛应用于各种线下服务的订单提醒、线下流程的语音提醒、远程警报等等;
无需上传录音、无需后台设置;
直接通过HTTP接口推送文本,即可实时远程语音播报;
真人发声、语调自然柔和,支持男、女音色;
支持远程音量、音色、语调、语速设置;
内置铃声、提示音、警示音各5种;
可无缝接入各种OA、ERP、SaaS软件和低代码平台中;
使用Go语言调用HTTP接口控制智能WiFi语音喇叭86型的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
package main
import (
"fmt"
"io/ioutil"
"net/http"
"net/url"
"strings"
)
func main() {
body, err := request()
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
func request() ([]byte, error) {
uri := "http://iot-api.unisoft.cn/{APP_ID}/device/control/?sign={sign}&ts={ts}"
payload := url.Values{}
payload.Set("device", "设备ID")
payload.Set("order", "命令")
/*
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 音量 - 可用值[0(0),1(1),2(2),3(3),4(4),5(5),6(6),7(7),8(8),9(9)]
示例[5], order为:{"volume":"5"}
2. 音色 - 可用值[0(女声),1(男声)]
示例[男声], order为:{"voice":"1"}
3. 语速 - 可用值[0(0),1(1),2(2),3(3),4(4),5(5),6(6),7(7),8(8),9(9)]
示例[5], order为:{"speed":"5"}
4. 语调 - 可用值[0(0),1(1),2(2),3(3),4(4),5(5),6(6),7(7),8(8),9(9)]
示例[5], order为:{"tone":"5"}
5. 播报 - 可用值[支付宝到账200元(到账提醒),你好,小程序上有新的业务线索:河北的刘先生要定制一款小程序,请及时处理(业务提醒),[m1]小王,请你到一下张总的办公室(工作通知(男声)),今天天气非常晴朗,暖暖的太阳照在人身上真舒服。我不禁的感叹:这真是美好的一天。最长不要超过50个字符,如果超过50个,可分多条连续下发命令。(长文本),[message_3]欢迎光临(提示音+文字),ID为[n1]888,手机号码为[n3]18500860080的客户,共消费[n2]1888元,优惠100元。(数字),请把空调调[=diao4]转一下角度(多音字),你[w0]好,你好(停顿)]
示例[提示音+文字], order为:{"play:gbk:16":"[message_3]欢迎光临"}
6. 铃声 - 可用值[1(1),2(2),3(3),4(4),5(5)]
示例[3], order为:{"ring":"3"}
7. 提示音 - 可用值[1(1),2(2),3(3),4(4),5(5)]
示例[3], order为:{"message":"3"}
8. 警示音 - 可用值[1(1),2(2),3(3),4(4),5(5)]
示例[3], order为:{"alert":"3"}
9. 停止 - 可用值[0(停止当前),1(全部停止)]
示例[全部停止], order为:{"stop":"1"}
*/
req, _ := http.NewRequest("POST", uri, strings.NewReader(payload.Encode()))
req.Header.Add("X-APISpace-Token","")
req.Header.Add("Content-Type","")
res, err := http.DefaultClient.Do(req)
if err != nil {
return nil, err
}
defer res.Body.Close()
return ioutil.ReadAll(res.Body)
}
说明:{APP_ID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
产品参数对比
产品 | 版本 | 音频输出 | 扬声器 | 安装方式 |
---|---|---|---|---|
智能WiFi语音喇叭3 | 白色 | 3.5mm音频座|接有源音箱 | 2个 | 2p插头|即插即用 |
智能WiFi语音喇叭Mini | 白色 | 无 | 1个 | 2p插头|即插即用 |
智能WiFi语音喇叭86型 | 白色 | 无 | 1个 | 标准86型底盒安装 |
产品尺寸与走线
1. 智能WiFi语音喇叭3接线示意图
2. 智能WiFi语音喇叭Mini接线示意图
3. 智能WiFi语音喇叭86型接线示意图