目前在一台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相关推荐

  1. java音乐_用JavaJFugue进行音乐编程

    JFugue是一个用于音乐作曲的Java API.和其它的音乐API不同,它能够让您用数据字符串来指定音符.乐器.和弦,以及其它音乐数据,而不需要进行底层的MIDI操控.它和其它快速应用程序开发环境类 ...

  2. 开源音乐播放器_如何选择开源音乐播放器

    开源音乐播放器 Linux提供了大量的音乐播放器. 您如何选择使用哪一个? 早在2016年6月,我就写了我最喜欢的开源音乐播放器Guayadeque显然逝世的文章. 我描述了我对Guayadeque真 ...

  3. ehshig蒙文歌曲_额格希格音乐播放器_额格希格音乐播放器安卓版下载_额格希格音乐播放器最新版app下载_好趣手游网...

    额格希格蒙语版是一款颇具民族特色的蒙文歌曲下载软件.额格希格音乐播放器收集了最全的蒙文歌曲曲库,各种经典的蒙文歌曲以及当前流行的蒙文流行歌全都有,深受广大内蒙用户喜爱! 软件介绍 想了解蒙语音乐或者想 ...

  4. python语音播报天气预报_树莓派之天气预报语音播报

    目录 树莓派之天气预报语音播报 方案选定 项目基调 需求分析 解决方案 具体实施 step1天气信息 安装ilang软件 json解析和文字组合 定时任务 树莓派之天气预报语音播报 前几天跟同事在聊家 ...

  5. 树莓派python交互界面实例_树莓派综合项目2:智能小车(二)tkinter图形界面控制...

    一.介绍 树莓派综合项目2:智能小车(一)四轮驱动中,实现了代码输入对四个电机的简单控制,本章将使用Python 的图形开发界面的库--Tkinter 模块(Tk 接口),编写本地运行的图形界面,控制 ...

  6. python实现3d扫描_树莓派制作的3D扫描仪

    作者:the_anykey 翻译:瑟瑟 校对:plantpark Hi, 我是arduino和树梅派的忠实粉丝,当然也喜欢3d打印.我想为我的孩子们做一个3d模型,然后就开始研究怎么去做一个3d扫描器 ...

  7. java web 嵌套播放器_网页嵌套播放器

    今天在做项目的时候,有个页面需要嵌套一个播放器,我们这里限制了是flv格式的,就到Dreamweaver上手动添加一个视频,然后把代码考进来就ok了,可是奇怪的事情发生了,在项目中视频的大小是按比例增 ...

  8. mysql 定时同步数据_如何定时备份Mysql数据库数据?

    这是为小白定制的专属<Linux轻松上手>系列.涵盖了linux常用指令.shell脚本等核心内容,浅显易懂,配合实操案例快速上手.目标就是帮助大家轻松上手linux,少走弯路! 上一篇如 ...

  9. 树莓派是python的应用领域吗_树莓派为什么采用python语言为主要开发语言?

    回复内容: 他老爸想让更多小孩学会编程,去用电脑实现自己有趣的想法.本来打算只让这个机器跑Python(是只跑Python,像学习机一样的东西.并没有想过在上面弄一个完整的linux).但是后来动真格 ...

最新文章

  1. 【实用】几个实用的webstorm、IDEA编辑器窗口快捷键设置,Alt+V垂直复制当前窗口,Alt+Shift+V将当前窗口复制到另一边的分割窗口显示,Alt+Shift+M移动当前活动窗口到另一边
  2. UITableView中selectRowAtIndexPath: animated:scrollPosition滚动到指定Row
  3. ESP8266固件的下载
  4. 《数据结构与算法 C语言版》—— 2.7习题
  5. things to be done
  6. J2EE中修改了jsp页面或者html页面重新启动tomcat无效问题
  7. Java EE CDI处理程序方法示例
  8. MySQL 8.0开始Group by不再排序
  9. nginx备忘录,错误a duplicate default server for 0.0.0.0:80
  10. laravel 邮件配置
  11. 设计模式-创建型模式-模板方法
  12. 小米10“被迫性价比”,雷军回应......
  13. php time豪秒_PHP精确到毫秒秒杀倒计时实例详解
  14. Axure元件库web组件库典藏版 (含五大类159小类组件 )
  15. 想要畅听全网音乐?试试 Listen1吧!
  16. 汽车之家汽车详细参数之css反爬
  17. Overload和Override详解
  18. 解决Maven下载速度缓慢问题
  19. 世界足坛十大球队球星全力出击
  20. No matching provisioning profiles found 真机测试问题

热门文章

  1. android wifi 验证失败怎么办,手机连接wifi身份验证失败怎么回事【图】
  2. 使用shell脚本下载sftp文件
  3. 微信小程序开发之——个人中心-个人详情页(6)
  4. 《惢客创业日记》2020.11.29(周日) 同命鸟也可以这样玩?
  5. signal 这个软中断是怎么实现的
  6. NS3 入门环境搭建
  7. Reflect.ownKeys()与Object.keys()区别 以及 JS中的可枚举属性与不可枚举属性
  8. java土豪笑话_调侃土豪的段子 土豪笑话段子大全
  9. Goole插件在高版本浏览器中安装报错解决技术
  10. 【icu】icu信息语法