为我们的体验流程机器人添加背景音乐,是不是很酷炫,快去商城下载运行体验一番吧

登录应用机器人商城(https://rpa.i-search.com.cn/)后,找到“欢迎体验 iSRPA”机器人

为我们的体验流程机器人添加背景音乐,是不是很酷炫,快去商城下载运行体验一番吧

该机器人的功能是带领 RPA 使用小白走上 RPA 大神的晋级之路,为大家介绍社区中的学习资料、学习视频;应用商城的使用等等。

现在又在原流程的基础上,添加了背景音乐,让大家在欢快的节奏下学习 RPA 的产品知识。一起来看下用设计器是怎么实现这个一个功能的吧。

  首先我们介绍一下Pygame,PyPoice是SDL多媒体库的Python包装模块。它包含Python函数和类,这些类和类允许使用SDL对CDROM、音频和视频输出、键盘、鼠标和操纵杆输入进行支持。

    Pygame 是一个利用 SDL 库的写就的游戏库, 是一组用来开发游戏软件的 Python 程序模块。SDL,全名 Simple DirectMedia Layer,SDL 是用 C 写的,不过它也可以使用 C++ 进行开发,当然还有很多其它的语言,Pygame 就是 Python 中使用它的一个库。pygame 允许你在 Python 程序中创建功能丰富的游戏和多媒体程序,是一个高可移植性的模块可以支持多个操作系统,用它来开发小游戏非常适合。

下面就分享一下,直接用 pygam 库播放音频的代码

def play_music():
    ppath = os.path.dirname(__file__)
    music_name = "Summer.mp3"
    file = os.path.join(ppath, music_name)
    print(file)
    img_name = "qiqi.jpg"
    filepath = os.path.join(ppath, img_name)
    print(filepath)
    # 初始化pygame
    pygame.init()
    pygame.mixer.init()
    fpsClock = pygame.time.Clock()

    # 创建pygame显示层
    playSurface = pygame.display.set_mode((1, 1))
    # 定义标题
    pygame.display.set_caption('Snake Go!')
    # 加载资源图片,game.ico包含在最后的文件中
    image = pygame.image.load(filepath)
    # 设置图标ISRPA
    pygame.display.set_icon(image)
    # 加载音乐,MP3音乐文件放在代码文件所在文件夹中
    pygame.mixer.music.load(file)
    pygame.mixer.music.play(start=0.0)
    # 播放时长,没有此设置,音乐不会播放,会一次性加载完
    time.sleep(300)
    pygame.mixer.music.stop()

然后我们将播放音乐的全局函数放到机器人介绍的流程之前,发现一个致命的问题:介绍流程会等音乐播放完再运行,这这这。。。完全不是我想要的背景音乐的亚子。重新康了代码,发现流程中不能添加 time.sleep,添加延时即堵塞了音乐播放的线程。

改进后的流程如下:
为我们的体验流程机器人添加背景音乐,是不是很酷炫,快去商城下载运行体验一番吧

代码块 1 中的代码:

ppath = os.path.dirname(__file__)

music_name = "summer.mp3"

file = os.path.join(ppath, music_name)

img_name = "qiqi.jpg"

filepath = os.path.join(ppath,img_name)

# 初始化pygame

pygame.init()

pygame.mixer.init()

pygame.mixer.music.load(file)

代码块 2 中的代码:

pygame.mixer.music.play()

判断条件

pygame.mixer.music.get_busy()==False

使用 pygame 中控制音频流的模块检测是否正在播放音乐。若音乐播放中,则继续运行 RPA 介绍流程;若音乐播放结束,则跳出 while True 循环。

大家快去商场中下载体验一番吧。