ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python 使用pygame 或者pyqt5 播放音乐

2022-01-11 15:00:24  阅读:357  来源: 互联网

标签:sound pyqt5 python QtMultimedia mixer music pygame 播放


前言:在折腾点歌播放器的时候,在网上看了很多用python 播放音乐的相关介绍,瞎折腾了许久,最后在自己在编程过程中使用了pygame或pyqt5播放音乐。为了给后来者提供经验,和使用体验,简单记录下代码。
声明:这二者都是在用过的,复制研究研究就可以用(方便吧),python版本:3.7.8 编译器:VScode
2022-01-10 17:16:51 星期一
参考资料:
https://www.cnblogs.com/chan7/p/5801953.html Python 用pygame模块播放MP3
https://www.cnblogs.com/liquancai/p/13236974.html pygame 的声音播放
https://www.jianshu.com/p/917b2ea7f719 pyqt5音频播放
https://blog.csdn.net/Dontla/article/details/105251700 python PyQt5.QtWidgets.QApplication类(sys.argv)(app应用对象类)

import pygame
from mutagen.mp3 import MP3
import time

def pygame_():

    song_path = '.\music.mp3'
    audio = MP3(song_path) # 获取音乐的播放时长
    pygame.mixer.init()    # 初始化音频部分
    pygame.mixer.music.load(song_path) # 载入音乐,支持ogg、mp3等格式不过,MP3 并不是所有的系统都支持(Linux 默认就不支持 MP3 播放)
    pygame.mixer.music.play()          # 播放start
    time.sleep(int(audio.info.length)) # 注意:一定需要设置time.sleep,否则程序在一瞬间跑完

# 其他相关命令---------------------------------------------------------------------------
'''
    pygame.mixer.music.stop() # 音乐停止
    pygame.mixer.music.rewind() # 重新播放
    pygame.mixer.music.pause() # 暂停播放
    pygame.mixer.music.unpause() # 取消暂停
    pyagme.mixer.music.get_pos() # 获取当前播放了多长时间
    pygame.mixer.music.get_busy() # 判断是否在播放音乐,返回1为正在播放
    pygame.mixer.music.set_volume(value) # 设置音量,音量value的范围为0.0到1.0
    pygame.mixer.music.fadeout(time) # 用来进行淡出,在time毫秒的时间内音量由初始值渐变为0,最后停止播放
    pygame.mixer.music.set_endevent(pygame.USEREVENT + 1) # 在音乐播放完成时,用事件的方式通知用户程序,设置当音乐播放完成时发送pygame.USEREVENT+1事件给用户程序
    pygame.mixer.music.queue(filename) # 使用指定下一个要播放的音乐文件,当前的音乐播放完成后自动开始播放指定的下一个。一次只能指定一个等待播放的音乐文件
    pygame.mixer.music.play(loops=0, start=0.0) 
    # 其中 loops 表示循环次数,如果设置为 -1 ,表示不停的循环播放,如果 loops 为 5 ,则播放 5+1=6 次;start 表示从音乐文件的哪一秒开始播放,设置为 0 表示从开始完整播放
    
    # 注pygame还可以使用sound 对象来播放音乐,但是必须是 WAV 或者 OGG 文件
    hello_sound = pygame.mixer.Sound("hello.ogg")		# 建立 Sound 对象
    hello_sound.play()					                # 声音播放一次
    
    # play(loop, maxtime) ,loop 是重复的次数(取1是两次,注意是重复的次数,而不是播放的次数),-1 意味着无限循环;maxtime 是指多少毫秒后结束
    # 若不使用任何参数调用,意味着把这个声音播放一次。一旦 play() 方法调用成功,就会返回一个 Channel 对象,否则返回一个 None
'''

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5 import QtMultimedia
import sys

# 播放mp3------------------------------------------------------------------
app = QtWidgets.QApplication(sys.argv)
path = '.\music.mp3' # 音乐文件路径
url = QtCore.QUrl.fromLocalFile(path)
# 

标签:sound,pyqt5,python,QtMultimedia,mixer,music,pygame,播放
来源: https://www.cnblogs.com/addPath/p/15788323.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有