testRtmp.lua 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. module(...,package.seeall)
  2. require "ril"
  3. require "audio"
  4. require "pins"
  5. require "sys"
  6. --该demo目前不通用,只有特殊版本才支持
  7. --pins.setup(15,1)
  8. audio.setChannel(1)
  9. audio.setVolume(7)
  10. local g_play_continue = false
  11. local function audioMsg(msg)
  12. --log.info("audio.MSG_AUDIO",msg.play_end_ind,msg.play_error_ind)
  13. --[[
  14. result_code:
  15. 0 == 播放成功
  16. 1 == 播放失败
  17. 2 == 停止成功
  18. 3 == 停止失败
  19. 4 == 接收超时
  20. 5 == 连接失败
  21. ]]
  22. log.info("audioMsgCb",msg.result,msg.result_code)
  23. --sys.publish("RTMP_PLAY_OVER")
  24. if msg.result_code == 2 then
  25. sys.publish("RTMP_STOP_OK")
  26. end
  27. end
  28. rtos.on(rtos.MSG_RTMP, audioMsg)
  29. --打印RAM空间
  30. local function onRsp(currcmd, result, respdata, interdata)
  31. log.info("HEAPINFO: ",respdata)
  32. end
  33. sys.taskInit(function()
  34. while true do
  35. print("ready network ok")
  36. while not socket.isReady() do sys.wait(1000) end --循环等待网络就绪
  37. sys.wait(5000)
  38. audio.setVolume(1)
  39. audio.setChannel(2)
  40. g_play_continue = false
  41. log.info("rtmpopen ......")
  42. --[[
  43. 功能:打开rtmp播放
  44. 参数:rtmp的链接地址
  45. 返回:成功为1,失败为0
  46. ]]
  47. if not audiocore.rtmpopen("rtmp://test/mp3") then
  48. continue
  49. end
  50. sys.wait(20000)
  51. log.info("rtmpclose .....")
  52. audiocore.rtmpclose()
  53. sys.waitUntil("RTMP_STOP_OK")
  54. ril.request("AT^HEAPINFO",nil,onRsp)
  55. end
  56. end)