airtalk_demo.lua 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. local mqtt_host = "lbsmqtt.openluat.com"
  2. local mqtt_port = 1886
  3. local mqtt_isssl = false
  4. local client_id = nil
  5. local user_name = "mqtt_hz_test_1"
  6. local password = "Ck8WpNCp"
  7. local mqttc = nil
  8. require "audio_config"
  9. local function airtalk_event_cb(event, param)
  10. log.info("airtalk event", event, param)
  11. end
  12. local function mqtt_cb(mqtt_client, event, data, payload)
  13. log.info("mqtt", "event", event, mqtt_client, data, payload)
  14. end
  15. function airtalk_demo_mqtt_8k(speech_topic)
  16. --client_id也可以自己设置
  17. client_id = mobile.imei()
  18. audio_init()
  19. mqttc = mqtt.create(nil, mqtt_host, mqtt_port, mqtt_isssl, {rxSize = 4096})
  20. airtalk.config(airtalk.PROTOCOL_DEMO_MQTT_8K, mqttc, 200) -- 缓冲至少200ms播放
  21. airtalk.on(airtalk_event_cb)
  22. airtalk.start(client_id, speech_topic)
  23. mqttc:auth(client_id,user_name,password) -- client_id必填,其余选填
  24. mqttc:keepalive(240) -- 默认值240s
  25. mqttc:autoreconn(true, 3000) -- 自动重连机制
  26. mqttc:debug(false)
  27. mqttc:on(mqtt_cb)
  28. -- mqttc自动处理重连, 除非自行关闭
  29. mqttc:connect()
  30. while true do
  31. --全是底层自动运行,到这里没什么可以演示的了
  32. sys.wait(60000000)
  33. end
  34. end