加载中…
正文 字体大小:

Luat实例教程:audio语音播放功能

(2018-03-25 07:48:05)
分类: GPRS模块

本示例实现的功能是:语音播放功能以及TTS功能。

1.在编辑工具建立一个test.lua的文件(不一定叫这个名字,用户可以自己随便取名)

!!!attention


Luat运行原理参阅[运行原理](../run.md) 

2.设置本文件被全体可见。也就意味着,一旦test被某一文件加载,则test在任何文件中均可被看见,即test中全局变量和函数均可被任何文件调用。


module(...,package.seeall)

3.test文件头需要 require "xxx" 模块。加载后,就可以调用xxx.lua库文件中的全局变量和函数了


require"audio"
require"common"

4.定义print函数,调试用


local function print(...)
    _G.print("test",...)
end

5.编写音频播放函数


local function testplayfile()
    --循环播放来电铃声,音量等级7,没有循环间隔(一次播放结束后,立即播放下一次)
    audio.play(CALL,"FILE","/ldata/call.mp3",audiocore.VOL7,nil,true)
end

6.编写TTS测试函数


local ttstr = "你好,这里是上海合宙通信科技有限公司,现在时刻18点30分"
local function testplaytts()
--循环播放,音量等级7,没有循环间隔(一次播放结束后,立即播放下一次)
  audio.play(TTS,"TTS",common.binstohexs(common.gb2312toucs2(ttstr)),audiocore.VOL7,nil,true)
end

7.开启定时器执行函数


sys.timer_start(testplayfile,5000)
sys.timer_start(testplaytts,5000)

8.在编辑工具中建立一个名为main.lua的文件。lua脚本的执行从main.lua开始,main.lua是入口文件(注意:main.lua只能有一个)。在main.lua中把test加载进去就好了。sys.init()是对系统初始化,sys.run()是系统主程序。这两句必须有。


--重要提醒:必须在这个位置定义MODULE_TYPE、PROJECT和VERSION变量
--MODULE_TYPE:模块型号,目前仅支持Air201、Air202、Air800
--PROJECT:ascii string类型,可以随便定义,只要不使用,就行
--VERSION:ascii string类型,如果使用Luat物联云平台固件升级的功能,必须按照"X.X.X"定义,X表示1位数字;否则可随便定义
MODULE_TYPE = "Air202"
PROJECT = "AUDIO"
VERSION = "1.0.0"
require"sys"
require"test"
if MODULE_TYPE=="Air201" then
require"wdt"
end
sys.init(0,0)
sys.run()

!!!attention


一个工程只有一个main.lua


0

阅读 评论 收藏 转载 喜欢 打印举报
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有