python写的定时播放音乐

import datetime
import os
import time
import pygame
from pygame import mixer
from pygame.locals import USEREVENT

STOPEVENT = USEREVENT + 1 #音乐停止事件
h = 9 # 时间
m = 26 # 分钟
play_long = 60 * 10  # 播放时长

def play(start):
    paths = os.listdir(‘.‘) #当前目录下所欲文件

    def ismp3(path):
        return path.endswith(".mp3")
    paths = list(filter(ismp3, paths)) #保留mp3文件

    if len(paths) > 0:
        cur = 0
        mixer.init()
        pygame.init()
        mixer.music.set_endevent(STOPEVENT) #设置音乐停止事件
        mixer.music.load(paths[cur]) #加载
        mixer.music.play() $播放
        #当超过播放时长后,停止播放
        while (datetime.datetime.now() - start).seconds < play_long:
            time.sleep(1) #1秒监听一次事件
            event = pygame.event.poll()

            if event.type == STOPEVENT:
                cur += 1
                if cur != len(paths):
                    mixer.music.load(paths[cur])
                    mixer.music.play()
                else:
                    break;
        pygame.quit()

def detect():
    while True:
        now = datetime.datetime.now()
        if now.hour == h and now.minute == m:
            play(now)
        else:
            time.sleep(1)

if __name__ == ‘__main__‘:
    detect()

  

原文地址:https://www.cnblogs.com/dreamycloud/p/8438540.html

时间: 2024-10-08 11:59:55

python写的定时播放音乐的相关文章

Python使用Pygame.mixer播放音乐

frequency这里是调频率... 播放网络中的音频: #!/usr/bin/env python # -*- coding: utf-8 -*- #Author:Tea import pygame import urllib2 pygame.mixer.init(frequency=8000,size=-16,channels=4) URL = ("http://api.microsofttranslator.com/V2/Http.svc/Speak?language=zh-chs&

python播放音乐

最近一直想实现使用Python播放音乐的功能,找了百度上的好多博客,要不就只能播放wav格式的,要不播放mp3格式的但无法在Linux系统下使用的,或者只能在Python2的情况下播放的,写的都不符合自己的要求,于是结合自己的需求整合了一个模块.上代码: import pygame # pip install pygame def playMusic(filename, loops=0, start=0.0, value=0.5): """ :param filename:

如何写一个正经的音乐播放器 四 意外情况

四,意外情况的控制. 在音频播放时候,容易遇到一些意外情况,这时候,我们就要处理这些意外情况,这时候,我们需要针对不同的意外情况进行处理.大概可以分成两种情况. 1,失去audio_focus的控制. 造成我们的播放器失去焦点的情况很多,主要是其他声音请求了焦点,例如说,其他音乐播放器开始播放音乐,突然来电,短息等. 以上的焦点失去,都可以用AudioManager.OnAudioFocusChangeListener中的回调来处理.先取得AudioManager AudioManager au

Python写的一个优美的定时器,定时精度可调

# -* coding: utf-8 -*- import sys import os import getopt import threading import time def Usage(): usage_str = '''说明: \t定时器 \timer.py -h 显示本帮助信息,也可以使用--help选项 \timer.py -d num 指定一个延时时间(以毫秒为单位) \t 也可以使用--duration=num选项 ''' print(usage_str) def args_p

手机影音第十五天,利用service实现后台播放音乐,在通知栏显示当前音乐信息等

代码已经托管到码云上,有兴趣的小伙伴可以下载看看 https://git.oschina.net/joy_yuan/MobilePlayer 先来一张目前的音乐播放器的效果图,当播放时,手机的状态通知栏也会有音乐信息显示. 这里可以看到有歌名.演唱者,还有歌曲的总时间,当前播放时间,当前播放进度,音乐暂停.下一首,上一首,音乐循环模式(单曲循环,顺序播放.循环播放)功能的实现.下一步就是把中间空白的部分填充歌词,然后做成根据进度显示歌词. 由于这次的内容有点多,是写了一天半的代码,讲的没那么细,

播放音乐案例

播放音乐案例 分析: 和上一篇文章的结构是一样的,只不过我们需要在这里里面加上播放音乐的一些操作: 其实也就是调用系统的播放音乐的API而已,写在服务里面就好, //媒体播放器 private MediaPlayer player; 1 public void onCreate() { 2 File file=new File(Environment.getExternalStorageDirectory(),"a.mp3"); 3 player =new MediaPlayer();

UI小项目之拳皇动画的实现(抽取加载图片和播放音乐的方法)

实现思路 1.加载图片 2.播放音乐 实现思想 1.封装思想 抽取相同代码生成一个新的方法,通过传递参数调用该方法: 2.内存管理思想 不需要每次调用方法时都重新加载图片,for循环加载图片写在ViewdidLoad中 下列代码没有对运行过程中内存管理进行优化 其中加载图片有两种方法: 通过imageNmae加载有缓存 通过imageWithContentsOfFile加载无缓存 有无缓存的区别: 有缓存,使用时不需要重新加载 无缓存,使用时才加载 #import "ViewController

C#播放音乐,调用程序

一:C# 播放音乐 string sound = Application.StartupPath + "/sound/msg.wav"; //Application.StartupPath:程序exe所在的位置,也可以直接写一个音乐的路径 SoundPlayer player = new SoundPlayer(sound); player.Load(); //把声音加载到内存 //player.PlayLooping();//播放 player.Play(); 二:C# 调用exe

音乐平台项目的几个问题总结(头像裁剪以及跨页面播放音乐)

关于头像裁剪 1.上传图片的裁剪,并没有采用后端裁剪,而采用前端裁剪,基于cropbox进行了修改 编码使用一个隐藏的input框存放 存放到数据库 2.本来想在后端解析base64编码重新生成文件,后来发现并没有必要,如果图片不是很大直接保存字符串到数据库就行了,这样还可以少一些http请求,不过缺点是Ie6不支持date:url的解析 3.图片变成base64编码之后,保存在数据库的字符长度高达16W 个字符,后来想办法改成jpeg+中等保存之后,长度变成3W,可以接受 下面从代码说起 界面