上一节我们整合了智能宝宝的三个功能:
树莓派(古德微)制作语音智能宝宝(3)--语音点播
树莓派(古德微)制作语音智能宝宝(2)--中英翻译
树莓派(古德微)制作语音智能宝宝(1)--智能问答
这一节,我们实现专辑点播的功能。在上一节我们介绍了在树莓派的/pi/home/MyMusic/中,以文件夹来存放专辑的音乐文件。(此前有老师反馈这手动添加音乐文件进数据库的操作不太科学,以后将介绍如何通过Python程序扫描文件并更新音乐数据库,这里只是一个程序的演示)。
1.查看全部标签
image.png
从返回的数据可以看出,标签返回的数据格式为列表。
2.在数据库中读取标签数据的方法为:
image.png
从返回的数据可以看出,返回的数据格式为列表。
3.通过标签查看所有歌曲的信息。
输出所有歌曲信息
4.提取列表歌曲的地址和时长
image.png
获取了歌曲的地址和时长之后,我们就可以利用音频播放+时长的延时来实现列表播放了。
单曲播放+等待
我们通过语音指令——专辑名来点播专辑,如:
--“小度小度”
--叮
--“儿歌”
按照第二节定义的变量,我们可以知道,判断文字标识是否为“专辑名”,若是,直接播放该专辑。
判断专辑名
此时,我们就可以新建一个”专辑点播"的函数,把这些代码块都放进去。
专辑播放函数块
在WakeUp函数中的判断语句中在加入一个如果否则的判断,当文字标识变量为专辑名(“儿歌”或者“故事”)的时候,转到专辑播放。
image.png
好了,现在我们来测试一下。
--小度,小度
--叮!
--儿歌
智能宝宝开始播放儿歌专辑了,到此,我们专辑点播的功能基本实现了。
如果我们不想继续听了,怎么办?我们尝试通过语音唤醒来中断播放。
--小度,小度。
小度不理我了,还在播放歌曲,怎么办?如何才能实现语音唤醒的中断呢?
下一节我们将讲述如何通过多线程来实现语音唤醒中断列表的播放。
网友评论