python 定时播放音乐_树莓派定时播放音乐,Python3.7
目前在一台3B+上运行,每天在公司定时放音乐,巴适得很
import os
import random
import re
import sys
import time
from datetime import datetime
# 输出时间
# from apscheduler.schedulers.background import BackgroundScheduler
import pygame
import requests
import simpleaudio
from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.schedulers.blocking import BlockingScheduler
from bs4 import BeautifulSoup
_dir = os.path.dirname(os.path.abspath(__file__))
playlist_path = os.path.join(_dir, 'media')
# playlist_path = '/Users/haohu/Music/酷狗音乐/BQ/'
mlist = []
m_play_list = []
MUSIC_END = pygame.USEREVENT + 1
def random_file():
rad = random.randint(0, len(mlist) - 1)
print(rad)
mfile = mlist[rad]
return mfile
def load_play_list():
print("load_play_list")
for iroot, idir, flist in os.walk(playlist_path):
for f in flist:
if f.find("mp3") != -1:
mlist.append(os.path.join(iroot, f))
else:
print("No Mp3 !")
print(mlist)
play_music()
def search_music():
print("search_music")
def job():
print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
def start_exercises():
print("start_exercises")
stop_music()
wave_obj = simpleaudio.WaveObject.from_wave_file(playlist_path + "/zuocao.wav")
play_obj = wave_obj.play()
play_obj.wait_done()
def play_music():
print("music first_play")
print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
mfile = random_file()
m_play_list.append(mfile)
print(mfile)
pygame.mixer_music.fadeout(1)
pygame.mixer_music.load(mfile)
pygame.mixer.music.set_volume(0.1)
pygame.mixer.music.set_endevent(MUSIC_END)
for num in range(1, 11):
time.sleep(0.5)
vol = num / 10
print(vol)
pygame.mixer.music.set_volume(vol)
def continue_music():
print("continue_music")
mfile = random_file()
m_play_list.append(mfile)
print(mfile)
pygame.mixer_music.fadeout(1)
pygame.mixer_music.load(mfile)
pygame.mixer.music.set_volume(1)
pygame.mixer.music.set_endevent(MUSIC_END)
def end_music():
print("end_music")
# pygame.mixer.music.stop()
pygame.mixer.music.set_endevent()
def stop_music():
print("end_music")
pygame.mixer.music.stop()
def main():
# 实例化调度器
scheduler = BackgroundScheduler()
# 执行时先remove所有
print("main")
scheduler.remove_all_jobs()
# scheduler.add_jobstore()
# MongoDBJobStore
# scheduler.add_job(job, 'interval', minutes=1, jitter=100, misfire_grace_time=200, max_instances=1)
scheduler.add_job(load_play_list, 'cron', day_of_week='0-6', hour=13, minute=25)
scheduler.add_job(start_exercises, 'cron', day_of_week='0-6', hour=13, minute=29)
scheduler.add_job(load_play_list, 'cron', day_of_week='0-6', hour=15, minute=15)
scheduler.add_job(end_music, 'cron', day_of_week='0-6', hour=15, minute=30)
scheduler.add_job(load_play_list, 'cron', day_of_week='0-6', hour=16, minute=16)
scheduler.add_job(end_music, 'cron', day_of_week='0-6', hour=16, minute=31)
# scheduler.add_job(wake_up, 'cron', day_of_week='0-6', hour=11, minute=38)
# scheduler.add_job(start_exercises, 'cron', day_of_week='0-6', hour=11, minute=39)
# scheduler.add_job(end_music, 'cron', day_of_week='0-6', hour=11, minute=10)
# scheduler.add_job(job, 'interval', seconds=3)
scheduler.start()
# pygame.init()
print("pygame_init")
pygame.mixer.init()
pygame.display.set_mode([500, 300])
# pygame 事件轮询
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
if event.type == MUSIC_END:
print('music end event')
continue_music()
if __name__ == '__main__':
print(playlist_path)
# load_play_list()
main()
python 定时播放音乐_树莓派定时播放音乐,Python3.7相关推荐
- java音乐_用JavaJFugue进行音乐编程
JFugue是一个用于音乐作曲的Java API.和其它的音乐API不同,它能够让您用数据字符串来指定音符.乐器.和弦,以及其它音乐数据,而不需要进行底层的MIDI操控.它和其它快速应用程序开发环境类 ...
- 开源音乐播放器_如何选择开源音乐播放器
开源音乐播放器 Linux提供了大量的音乐播放器. 您如何选择使用哪一个? 早在2016年6月,我就写了我最喜欢的开源音乐播放器Guayadeque显然逝世的文章. 我描述了我对Guayadeque真 ...
- ehshig蒙文歌曲_额格希格音乐播放器_额格希格音乐播放器安卓版下载_额格希格音乐播放器最新版app下载_好趣手游网...
额格希格蒙语版是一款颇具民族特色的蒙文歌曲下载软件.额格希格音乐播放器收集了最全的蒙文歌曲曲库,各种经典的蒙文歌曲以及当前流行的蒙文流行歌全都有,深受广大内蒙用户喜爱! 软件介绍 想了解蒙语音乐或者想 ...
- python语音播报天气预报_树莓派之天气预报语音播报
目录 树莓派之天气预报语音播报 方案选定 项目基调 需求分析 解决方案 具体实施 step1天气信息 安装ilang软件 json解析和文字组合 定时任务 树莓派之天气预报语音播报 前几天跟同事在聊家 ...
- 树莓派python交互界面实例_树莓派综合项目2:智能小车(二)tkinter图形界面控制...
一.介绍 树莓派综合项目2:智能小车(一)四轮驱动中,实现了代码输入对四个电机的简单控制,本章将使用Python 的图形开发界面的库--Tkinter 模块(Tk 接口),编写本地运行的图形界面,控制 ...
- python实现3d扫描_树莓派制作的3D扫描仪
作者:the_anykey 翻译:瑟瑟 校对:plantpark Hi, 我是arduino和树梅派的忠实粉丝,当然也喜欢3d打印.我想为我的孩子们做一个3d模型,然后就开始研究怎么去做一个3d扫描器 ...
- java web 嵌套播放器_网页嵌套播放器
今天在做项目的时候,有个页面需要嵌套一个播放器,我们这里限制了是flv格式的,就到Dreamweaver上手动添加一个视频,然后把代码考进来就ok了,可是奇怪的事情发生了,在项目中视频的大小是按比例增 ...
- mysql 定时同步数据_如何定时备份Mysql数据库数据?
这是为小白定制的专属<Linux轻松上手>系列.涵盖了linux常用指令.shell脚本等核心内容,浅显易懂,配合实操案例快速上手.目标就是帮助大家轻松上手linux,少走弯路! 上一篇如 ...
- 树莓派是python的应用领域吗_树莓派为什么采用python语言为主要开发语言?
回复内容: 他老爸想让更多小孩学会编程,去用电脑实现自己有趣的想法.本来打算只让这个机器跑Python(是只跑Python,像学习机一样的东西.并没有想过在上面弄一个完整的linux).但是后来动真格 ...
最新文章
- 【实用】几个实用的webstorm、IDEA编辑器窗口快捷键设置,Alt+V垂直复制当前窗口,Alt+Shift+V将当前窗口复制到另一边的分割窗口显示,Alt+Shift+M移动当前活动窗口到另一边
- UITableView中selectRowAtIndexPath: animated:scrollPosition滚动到指定Row
- ESP8266固件的下载
- 《数据结构与算法 C语言版》—— 2.7习题
- things to be done
- J2EE中修改了jsp页面或者html页面重新启动tomcat无效问题
- Java EE CDI处理程序方法示例
- MySQL 8.0开始Group by不再排序
- nginx备忘录,错误a duplicate default server for 0.0.0.0:80
- laravel 邮件配置
- 设计模式-创建型模式-模板方法
- 小米10“被迫性价比”,雷军回应......
- php time豪秒_PHP精确到毫秒秒杀倒计时实例详解
- Axure元件库web组件库典藏版 (含五大类159小类组件 )
- 想要畅听全网音乐?试试 Listen1吧!
- 汽车之家汽车详细参数之css反爬
- Overload和Override详解
- 解决Maven下载速度缓慢问题
- 世界足坛十大球队球星全力出击
- No matching provisioning profiles found 真机测试问题
热门文章
- android wifi 验证失败怎么办,手机连接wifi身份验证失败怎么回事【图】
- 使用shell脚本下载sftp文件
- 微信小程序开发之——个人中心-个人详情页(6)
- 《惢客创业日记》2020.11.29(周日) 同命鸟也可以这样玩?
- signal 这个软中断是怎么实现的
- NS3 入门环境搭建
- Reflect.ownKeys()与Object.keys()区别 以及 JS中的可枚举属性与不可枚举属性
- java土豪笑话_调侃土豪的段子 土豪笑话段子大全
- Goole插件在高版本浏览器中安装报错解决技术
- 【icu】icu信息语法