第一种 使用pygame模块

pygame.mixer.init()

pygame.mixer.music.load(self.wav_file)

pygame.mixer.music.set_volume(0.5)

pygame.mixer.music.play()

缺点:pygame模块播放音频时,有时候会产生失真,且无法通过修改播放器的频率来矫正音色。

第二种 使用pyqt5模块

from PyQt5 import QtMultimedia

from PyQt5.QtCore import QUrl

file = QUrl.fromLocalFile(wav_file) # 音频文件路径

content = QtMultimedia.QMediaContent(file)

player.setMedia(content)

player.setVolume(50.0)

player.play()

缺点:由于大部分人使用的python环境为anaconda配置的环境,在anaconda下的pyqt5没有QtMultimedia这一模块,只能自己使用pip安装,但是使用pip安装后如果anaconda环境下有spyder、anaconda navigator等图形化界面程序,这些程序会无法打开,因此使用pip安装后调试完毕后记得使用pip卸载掉,之后才能正常打开spyder等程序。

第三种 使用pyaudio模块

import pyaudio

import wave

import sys

chunk = 1024

wf = wave.open('gyh.wav', 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),

channels=wf.getnchannels(),

rate=wf.getframerate(),

output=True)

data = wf.readframes(chunk)

while len(data) > 0:

stream.write(data)

data = wf.readframes(CHUNK)

stream.stop_stream()

stream.close()

p.terminate()

缺点:无,就是代码多点。

总结

以上所述是小编给大家介绍的python播放音频的三种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

本文标题: 详解python播放音频的三种方法

本文地址: http://www.cppcns.com/jiaoben/python/275640.html

python可以播放音乐吗_详解python播放音频的三种方法相关推荐

  1. python numpy array转置_详解Numpy数组转置的三种方法T、transpose、swapaxes

    Numpy是高性能科学计算和数据分析的基础包,里面包含了许多对数组进行快速运算的标准数学函数,掌握这些方法,能摆脱数据处理时的循环. 1.首先数组转置(T) 创建二维数组data如下: 进行矩阵运算时 ...

  2. mysql临键锁_详解 MySql InnoDB 中的三种行锁(记录锁、间隙锁与临键锁)

    详解 MySql InnoDB 中的三种行锁(记录锁.间隙锁与临键锁) 前言 InnoDB 通过 MVCC 和 NEXT-KEY Locks,解决了在可重复读的事务隔离级别下出现幻读的问题.MVCC  ...

  3. 用于生成随机数的python标准库模块是_详解Python基础random模块随机数的生成

    详解Python基础random模块随机数的生成 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  详解Python基础random模块随机数的生成.txt ] ( ...

  4. python命令提示符窗口在哪里_详解python命令提示符窗口下如何运行python脚本

    以arcgispro的python脚本为例在arcgispro自带的python窗口下运行python脚本 需求: 将arcgispro的.aprx项目包中gdb的数据源路径更换为sde数据源路径. ...

  5. python中pandas安装视频教程_详解Python中pandas的安装操作说明(傻瓜版)

    很多人来问我pandas的安装(python数据分析里面的必修课) 步骤如下: 安装python的时候,把路径加到系统里,这样,随时可以用pip 路径添加方法: 查找路径: 路径1: 2.例如: 即: ...

  6. python从random生成列表_详解Python利用random生成一个列表内的随机数

    详解Python利用random生成一个列表内的随机数 首先,需要导入random模块: import random 随机取1-33之间的1个随机数,可能重复: random.choice(range ...

  7. python策略模式包含角色_详解Python设计模式之策略模式

    虽然设计模式与语言无关,但这并不意味着每一个模式都能在每一门语言中使用.<设计模式:可复用面向对象软件的基础>一书中有 23 个模式,其中有 16 个在动态语言中"不见了,或者简 ...

  8. [转载] python中for语句用法_详解Python中for循环的使用_python

    参考链接: 在Python中将else条件语句与for循环一起使用 这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 &q ...

  9. python函数的使用场景_详解python中strip函数的使用场景

    python strip()函数 介绍,需要的朋友可以参考一下 函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm) 删除s字符串中开头.结尾处,位于 rm删除序列的字符 s.l ...

最新文章

  1. 用Java写一个植物大战僵尸简易版!
  2. mfc 使用画笔画线
  3. prototype.js 让你更深入的了解javascript的面向对象特性
  4. Android studio 设置主题
  5. React路由 + 绝对路径引用
  6. python流行趋势_Python流行度再创新高,学Python就从风变编程开始
  7. Docker 方式安装 RabbitMQ (ribbitmq linux 部署)
  8. 数据结构与算法——二叉树与图
  9. educoder实训平台python入门之运算符的使用_从零学Python之入门(四)运算
  10. JS学习笔记——JavaScript继承的6种方法(原型链、借用构造函数、组合、原型式、寄生式、寄生组合式)...
  11. Gbase与oracle数据库的区别
  12. IEEE1588精确网络时钟同步协议简介
  13. 开发历程:网页视频流媒体播放器EasyPlayer.JS开发web H5网页播放H.265视频支持FLV与HLS直播与点播
  14. mac php71 php fpm,Mac PHP-fpm
  15. 代码练习——数组_实战
  16. 小白学习HTML(一)——html基本格式
  17. Elasticsearch 7.10 之 Similarity module
  18. 传统企业怎样克服互联网焦虑症
  19. linux下更新Cmake,包括cmake下载缓慢解决方案
  20. 网站被篡改怎么办?如何防护网站被黑

热门文章

  1. java点滴(6)之java引用
  2. InfoPath发布要点
  3. 第二章 如何学习Linux(鸟哥的Linux私房菜基础学习篇)
  4. C#强化系列文章三:实验分析C#中三种计时器使用异同点
  5. 与视频服务器相比,流媒体服务器有什么优势?
  6. SD-WAN可以提高WAN性能的3种方式—Vecloud
  7. PostgreSQL:Problem running post-install step. The database cluster initialisation failed. 解决方法。
  8. 2879: [Noi2012]美食节
  9. 2017/11/3模拟赛
  10. PHP中文件操作基础:目录操作,文件操作