testRecordStream.lua 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. --- 模块功能:录音功能测试.
  2. -- @author openLuat
  3. -- @module record.testRecord
  4. -- @license MIT
  5. -- @copyright openLuat
  6. -- @release 2018.03.27
  7. module(...,package.seeall)
  8. require"record"
  9. require"audio"
  10. local recordBuf = ""
  11. --[[
  12. 函数名:rcdcb
  13. 功能 :录音结束后的回调函数
  14. 参数 :
  15. result:录音结果,true表示成功,false或者nil表示失败
  16. size:number类型,本次上报的录音数据流的大小,单位是字节,在result为true时才有意义
  17. tag:string类型,"STREAM"表示录音流数据通知,"END"表示录音结束
  18. 返回值:无
  19. ]]
  20. function rcdcb(result,size,tag)
  21. log.info("testRecord.rcdcb",result,size,tag)
  22. if tag=="STREAM" then
  23. local s = audiocore.streamrecordread(size)
  24. recordBuf = recordBuf..s
  25. else
  26. record.delete() --释放record资源
  27. audiocore.streamplay(audiocore.AMR,recordBuf)
  28. sys.timerStart(audiocore.stop,6000)
  29. recordBuf = ""
  30. sys.timerStart(record.start,8000,5,rcdcb,"STREAM")
  31. end
  32. end
  33. --5秒后,开始录音
  34. sys.timerStart(record.start,5000,5,rcdcb,"STREAM")