详解python播放音频的三种方法
作者:lawsX云 发布时间:2021-12-16 09:19:11
标签:python,播放,音频
第一种 使用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播放音频的三种方法,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://blog.csdn.net/Boogyman/article/details/101064349


猜你喜欢
- 本文实例讲述了Python数据结构之图的应用。分享给大家供大家参考,具体如下:一、图的结构二、代码# -*- coding:utf-8 -*
- 什么是1433端口 1433端口,是SQL Server默认的端口,SQL Server服务使用两个端口:TCP-1433、UDP-1434
- matplotlib是功能十分强大的绘制二维图形的Python模块,它用Python语言实现了MATLAB画图函数的易用性,同时又有非常强大
- 同由其他技术驱动的应用一样,在相同的Web服务器上运行Django应用也是可行的。 最简单直接的办法就是利用Apaches配置文件httpd
- 一、获取安装包:Pycharm 官网 下载页面 :点击打开Anconda 官网 下载页面 :点击打开选择对应的系统和需要的版本进行下载,py
- Python递归函数实例1、打开Python开发工具IDLE,新建‘递归.py'文件,并写代码如下:def digui(n):if
- 问题描述:被搜索名字为:andy这时搜索andy正常,但是搜索a就搜不到。解决办法,在索引配置文件中的index中添加min_infix_l
- 原来在一本书上看到过,从多个tfrecord文件中读取数据的方法,今天想用在网上找了一下,现在记录一下,免得自己以后忘记了又不好找,tfre
- 本章内容如何从数据库中读取用户对象源码分析如何从数据库中读取用户对象?1前面我们分析认证的时候就会发现他在DaoAuthentication
- 写程序的人在编写由asp页面生成静态页面html的时候,如果同时生成大量页面,一定遇到过浏览器下方的进度条上显示着3%,6%,10%等缓慢增
- 当单台MYSQL服务器无法满足当前网站流量时的优化方案。需要搭建mysql集群技术。一、功能:当向主服务器插入|修改|删除数据时,数据会自动
- 方法一:直接右键,将文章路径复制下来点击Copy full Xpath使用selenium+lxml中的etree进行配合使用,使用etre
- 近日在月影的blog上找到一段代码。看了老半天没明白什么意思,倍受打击!不死心,于是仔细分析思考了好几次,才明白过来这段函数的意义。js果然
- 本文为大家分享了TensorFLow用Saver保存和恢复变量的具体代码,供大家参考,具体内容如下建立文件tensor_save.py, 保
- 一、模拟数据库数据1-1 创建数据库及表脚本 - vim slap.sh#!/bin/bash HOSTNA
- 本文实例讲述了Python实现的IP端口扫描工具类。分享给大家供大家参考,具体如下:去年服务器老是被攻击,每次上线之后,上线的人急急忙忙下班
- 本文实例讲述了Python实现自动登录百度空间的方法。分享给大家供大家参考,具体如下:开发环境:Fedora12 + Python2.6.2
- 前言pandas处理时间的对象有很多,分别表示不同的作用。本次介绍固定时间对象和时间长对象。还是先导入包:import numpy as n
- 本文介绍了asp中 adpbe.stream 的语法,各种参数使用说明,方便大家查阅。更多请看:VBScript 速查手册(语言参考) ch
- <?php// 使用Memache 作为进程锁 class lock_processlock{// key 的前缀protected