PYGAME的音乐播放器(1)

这里音乐播放器使用pygame模块,将来还会用到requests模块

使用python10和pycham

创建一个工程

首先创建几个工具,在tool.py文件里

从MP4中提取MP3文件
def mp4_mp3(mp4path, mp3path):
    from moviepy import editor
    video = editor.VideoFileClip(mp4path)
    audio = video.audio
    audio.write_audiofile(mp3path)

# 拓展名转换工具
def ExtensionNameChangeover(filepath, ExtensionName):
    import os
    name, suffix = os.path.splitext(filepath)
    return name + "." + ExtensionName

 然后在创建player类

#  可能有一些代码没有完善,请谅解

import pygame
import sys
from pygame._sdl2 import messagebox

head = sys.argv
print(head)


class Player:
    def __init__(self):
        pass

    @staticmethod
    def load(path):
        pygame.init()
        pygame.mixer.init()
        try:
            pygame.mixer.music.load(repr(path))
        except pygame.error:
            import tool
            messagebox("此文件无法打开,我们正在尝试处理该文件")
            tool.mp4_mp3(repr(path), tool.ExtensionNameChangeover(repr(path), 'mp3'))


    @staticmethod
    def play():
        try:
            pygame.mixer.music.play()
        except pygame.error:
            pygame.mixer.init()
            pygame.mixer.music.load(r"example.mp3")
            pygame.mixer.music.play()

    @staticmethod
    def stop():
        try:
            pygame.mixer.music.pause()
        except pygame.error:
            pass

    @staticmethod
    def set_volume(voice):
        try:
            pygame.mixer.music.set_volume(voice)
        except pygame.error:
            pass

    @staticmethod
    def get_volume():
        try:
            return pygame.mixer.music.get_volume()
        except pygame.error:
            return

    @staticmethod
    def getpos():
        try:
            return pygame.mixer.music.get_pos()
        except pygame.error:
            return

    @staticmethod
    def setpos(pos):
        try:
            pygame.mixer.music.set_pos(pos)
        except pygame.error:
            pass

我们将不断更新~~~ 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值