zoey不种土豆 发表于 2024-12-3 10:22:59

【行空板K10基础入门教程】第03课:K10随身听

本帖最后由 zoey不种土豆 于 2024-12-18 11:38 编辑

Hi,欢迎各位来到行空板K10的第三课!相信大家都有过随身听的回忆。随身听,这个曾经风靡一时的便携式音乐播放器,因其随时随地享受音乐的魅力而深受人们喜爱。在行空板K10的第三课中,我们将会学习如何用我们的行空板K10,模拟那个时代的经典——随身听!让我们一起穿越回那个音乐随身而行的黄金时代,体验科技与怀旧的完美融合。

https://www.bilibili.com/video/BV1ibzwYuEEu/?spm_id_from=333.999.0.0
任务目标
在行空板K10上显示文字和图片模拟随身听的界面,利用板载喇叭和麦克风实现播放音乐和录音。实现功能:短按A移动方框,选择歌曲;短按B键播放选中的歌曲;长按A键录音并保存录音文件。屏幕显示效果如图。

知识目标
1、掌握识别短按、长按的实现逻辑。
2、掌握音频录放指令的使用方式。
3、掌握函数的使用方式。
4、掌握更多运算符指令的使用方式。

材料清单
硬件清单:行空板K10
数据线

软件使用:
Mind+编程软件
1.软件压缩包下载:
* 网页下载:https://download3.dfrobot.com.cn ... 0_test_20241012.zip
* 百度网盘下载:https://pan.baidu.com 提取码: 17d6
* 夸克网盘下载
2.将压缩包解压,注意解压过程中关闭杀毒软件,解压后文件夹路径不含中文,解压后文件夹路径不宜过长
3.打开解压后的文件夹,找到 Mind+.exe,双击打开
4.若编译任何代码都报错,建议在解压时将所有后台的杀毒软件退出,将解压出的文件夹放到 C 盘根目录,文件夹的名字改为"win-ia32-unpacked20241012"。文件夹中的 exe 文件,不可直接拖到桌面,要右键-发送到桌面快捷方式。

软件基础使用
1、打开 Mind+,切换到上传模式

2、加载行空板 K10
点击“扩展库”,找到“官方库”下的“行空板”模块点击完成添加,点击返回后,就可以在“指令区”找到行空板K10,完成行空板K10加载。

3、连接行空板K10
首先,你需要通过 USB 连接线将行空板 K10 连接到计算机,

然后,点击连接设备后,点击 COM7-UNIHIKER K10 进行连接。
注:不同行空板K10的设备名称可能不同,但都是以“K10”结尾。

动手实践
接下来一起动手完成今天的课程任务吧。我们将从简单的按键操作开始,逐步学习如何在行空板K10上实现录音和播放,最终利用函数模块实现随身听的功能。
任务一:按键的运用——长按与短按
这一部分我们将学习按键使用的方法,通过长按和短按两种控制方式,在行空板K10屏幕上显示文字和图片。
任务二:音频录放操作
这一部分我们将学习音频录放的方法,通过按键控制实现简单的录音和播放操作。
任务三:多个音频文件播放
这一部分我们将学习多个音频文件的播放切换逻辑,从而实现多个音乐的播放。同时,简单学习函数模块,帮助代码变得更加整洁。
任务四:实现随身听
这一部分我们将结合任务二和任务三的内容,实现录音后添加文件到列表并播放,从而实现随身听的完整功能。

任务一:按键的运用——长按与短按
为了实现随身听中短按A键移动红色方框、长按A键录音的功能,我们先来了解一下行空板K10的板载按键以及两种按键控制方式——短按和长按的编程实现方式。
1、了解按键
如图,行空板板载两个按键,在行空板正面的右侧,上侧的命名为A,下侧为B。

接下来,我们先来完成一个简单的小任务,来掌握按键控制的方式。我们需要实现的效果是,短按按键A出现文本图标和红色方框,长按按键出现图片。

2、 编写程序:按钮控制——短按
STEP1:我们可以先在行空板K10分类下找到 板载传感器 标签下的 当按键A按下 指令(如下图),然后将它拖拽到代码区。该指令是一个中断指令,当按键A被按下后,程序会先跳转到该指令处,执行该指令下方的指令。

注:关于板载传感器指令的相关详细介绍,详见知识园地。

STEP2:在行空板K10分类下找到屏幕显示标签下的缓存画矩形、缓存显示TF卡图片指令,将他们拖拽至当按键A按下指令的下方(如下图)。
然后,按照图上的信息修改对应的坐标(X、Y)以及文件名。

注:关于TF卡的相关详细介绍,详见知识园地。

3、编写程序:按钮控制——长按
STEP1:同样在行空板K10分类下找到板载传感器标签下的按键A按下指令(如下图),然后将它拖拽到代码区。该指令是一个判断指令,需要配合条件语句如果.. 等控制指令使用。

在实现按键长按操作时,如果按键被按下,我们需要先用一个变量记录按下按键的初始时刻。

STEP2:创建变量 “初始时刻”,然后拖拽 系统运行时间 指令为变量赋值。

注:系统运行时间指令中的ms是毫秒,1秒等于1000毫秒。

然后,我们需要重复用当前时刻减去变量“初始时刻”得到等待时间,判断等待时间是否达到预设值(比如等待2秒),直到按键被松开。如果达到了预设值(等待了2秒),就执行对应的操作(显示图片)。
STEP3:添加重复执行语句。

STEP4:组合判断指令,添加进重复执行语句下。
注:系统运行时间 的单位是毫秒,>2000表示大于2000ms也就是2秒。

STEP5:添加显示图片指令,将组装好的语句块放到主程序的循环执行下。

至此,我们已经编写好了按键长按和短按的逻辑,完整程序如下:

4、程序执行
STEP1:检查并保证行空板K10已连接Mind+,将编辑好的程序上传到设备。

STEP2:短按A键,观察到屏幕显示歌曲文本;长按A键观察到屏幕显示歌曲图片。

任务二:音频录放操作
在任务二,我们将学习音频录放的操作,实现长按按键A录制音频,短按按键B开始或停止播放音频。
1、编写程序
在任务一中,我们已经学习了如何实现按键长按。要实现长按按键A录制音频,只需把录制音频语句与长按按键执行操作语句块组合即可。
STEP1:在K10分类下找到 录音保存到TF卡 指令,然后将它拖拽,放在长按语句块的下面。

STEP2:添加文本显示。

接下来学习短按按键B播放的操作。这里的短按实现跟任务一有所区别,两种方式都是可行的。为了实现同一个按钮控制开始播放和停止播放,我们用一个变量记录当前的播放状态,变量为0表示未播放,变量为1表示正在播放,点按按钮修改变量,然后根据变量的值控制播放状态。

STEP3:将按下A指令修改为按下B,然后添加到如果语句中。

STEP4:创建变量记录播放状态,并添加判断语句如果...否则...。

STEP5:创建字符类型变量,用来记录录音文件的名字sound.wav。

STEP6:将播放、停止播放操作的语句添加进脚本区,并将播放音频的名称修改为字符变量“音乐”。

STEP7:补充相关操作,变量为0时播放音乐文件,并将变量改为1;变量为1时停止播放,并将变量改为0。

STEP8:组合程序,要注意控制两个按钮A、B是并列关系,两个如果语句块相连而不是包含。

至此,程序编写完成,完整程序如下图:

2、程序运行
STEP1:连接行空板K10并上传程序。
STEP2:长按A键,观察到右上角绿灯亮开始录音,绿灯灭录音结束;短按B键播放录音。

任务三:多个音频文件播放
在这一任务,我们需要实现多个音频文件轮流播放。如下图,如果我们按照数字顺序依次命名三个音频文件和对应的图片,那么我们应该如何实现它们的循环播放切换呢?思考一下,实现按下A键切换歌曲,按下B键播放歌曲。

解决的方法是,用一个变量记录当前选中歌曲的序号,每当需要切换时让序号+1,序号到3时又改变回1,就能循环选择对应的音频和文件了。

1、编写程序
STEP1:创建变量“ID”,用变量“ID”记录当前序号,实现按下A键,序号增加1,序号到3时又改变回1。

SETP2:修改文件名,确保每次切换都能播放对应的音乐文件。

播放音乐的程序已经完成,接下来还需要添加显示,让我们看得舒服,操作方便。在这里,我们用一个会移动的红色方框(矩形)表示当前选中的歌曲。

SETP3:编写文字以及图标显示,添加红色方框。

SETP4:在按下A键处补充逻辑,实现红色方框的移动。

SETP5:创建文本显示刷新函数,放置SETP3中编辑的显示代码,方便多次刷新。

SETP6:拖拽创建的函数到脚本区,实现文本刷新。

至此,我们已经完成程序编写,完整程序如下:

2、运行程序
点击上传到设备,尝试按A键切换歌曲按B键播放,体验自己实现的初版随身听吧!

任务四:实现随身听
作为一个完整的随身听,除了能播放歌曲,应该也能录音才对呀!在这最后一个任务,我们将添加录音功能,实现更真实的随身听。
我们想要添加录音功能,需要考虑一个问题,那就是录音前和录音后的区别。录音前是没有录音文件的,录音后才有文件,我们需要把文件加入播放列表并播放。那么,应该如何实现这一点呢?

1、编写程序
STEP1:将任务二中的A键录音部分和任务三的主程序进行连接,两个按键的控制还是并列关系,请注意连接位置。

SETP2:不同的是,在长按A键录音时,我们要给录音的文件按照数字命名,并给录音文件在目录中添加一个位置。

SETP3:修改显示函数,当文件数量增加时,显示录音文件,同时,往TF卡中添加一张名为4.png的图片,作为录音文件的对应图片。

至此,我们完成了程序的连接,完整的程序参考以下代码:

2、运行程序
点击上传到设备,试玩完整的随身听吧!

知识园地
1、板载传感器指令

2、TF卡介绍
TF卡即是T-Flash卡,又叫micro SD卡,即微型SD卡。TF卡一般也是用于手机、mp4等小型数码电子产品的外存储器用。

目前行空板K10可使用的TF卡推荐如下:

3、音频录放指令

本文相关素材下载:

大头张 发表于 2024-12-14 08:36:21

程序可以分享一下吗

zoey不种土豆 发表于 6 天前

大头张 发表于 2024-12-14 08:36
程序可以分享一下吗

感谢提醒,已经更新在附件了,可以重新下载一下
页: [1]
查看完整版本: 【行空板K10基础入门教程】第03课:K10随身听