我如何在 python 3 中播放声音?
How do i play a sound in python 3?
我想写一个 python 脚本来播放声音(使用 windows 录音机录制)!
我看了pygame可以做作业并安装了pygame!但是我不知道如何编写代码来播放来自特定路径的声音!我必须播放位于 C:\Users\Asdf\Documents\Audio.wav
的音频文件
我尝试了这里的脚本 http://pythonprogramming.net/adding-sounds-music-pygame/
import pygame
crash_sound = pygame.mixer.Sound("crash.wav")
但随后我收到一条错误消息:
Traceback (most recent call last): File "", line 1, in
crash_sound = pygame.mixer.Sound("crash.wav") AttributeError: 'module' object has no attribute 'mixer'
那么我该如何编写脚本来使用 pygame 播放那个 Audio.wav 文件呢?
我使用的是Python3.4 64位版本!
Add python to windows 7 PATH
- 按住 Win 并按 Pause。
- 单击“高级系统设置”。
- 单击环境变量。
- 在"User variables"中如果没有PATH点击"New",否则selectPATH变量点击"Edit"
- 将
;C:\python34
附加到 Path
变量。
- 重新启动命令提示符。
正在安装pygame
您首先要安装 pygame。您可以通过多种方式执行此操作。
但是要从源安装
- 下载解压pygame-1.9.1release.zip
- 打开一个终端
- cd 进入您刚刚提取的 pygame-1.9.1release 文件夹
- 运行
python setup.py
或者,如果 python 与 windows 安装中的 .py
文件相关联(这是默认设置),请打开解压缩的文件夹并双击 setup.py
运行宁pygame
你需要运行
pygame.init()
在调用 pygame 模块之前!
希望能帮您解决问题
例子
import pygame
pygame.init()
s = pygame.mixer.Sound("C:\Users\Asdf\Documents\Audio.wav")
# Start playback
s.play()
# Stop playback
s.stop()
在 windows 上播放声音(没有 pygame)
import winsound
fname = "C:\Users\Asdf\Documents\Audio.wav"
winsound.PlaySound(fname, winsound.SND_FILENAME)
这是一个适用于所有平台的简单解决方案,除了单个 Python 文件外没有依赖项。
首先使用 pip 安装 playsound
:
pip install playsound
然后从模块中导入同名函数并运行它。很简单,不是吗?
from playsound import playsound
# wav works on all platforms. mp3 works on OS X. Other filetype/OS combos may work but have not been tested.
playsound('/path/to/file/you/want/to/play.wav')
免责声明:我写了 playsound
。它有一个可选的第二个参数,block = False
,这样函数调用就不会阻塞。它会默认阻止。
为了这个目的,我已经有效地使用了 pydub。该模块可以安装为
pip install pydub
pydub 确实需要安装 FFMPEG。 @https://github.com/jiaaro/pydub
给出了pydub和ffmpeg的安装细节
安装上述依赖项后,该库将以相当简单的方式跨不同平台[windows、Linux、Mac]提供对各种音频格式的全面操作。
这是一个例子
from pydub import AudioSegment
from pydub.playback import play
fname = "C:\Users\Asdf\Documents\Audio.wav"
mysong = AudioSegment.from_wav(fname)
play(mysong)
我想写一个 python 脚本来播放声音(使用 windows 录音机录制)!
我看了pygame可以做作业并安装了pygame!但是我不知道如何编写代码来播放来自特定路径的声音!我必须播放位于 C:\Users\Asdf\Documents\Audio.wav
我尝试了这里的脚本 http://pythonprogramming.net/adding-sounds-music-pygame/
import pygame
crash_sound = pygame.mixer.Sound("crash.wav")
但随后我收到一条错误消息:
Traceback (most recent call last): File "", line 1, in crash_sound = pygame.mixer.Sound("crash.wav") AttributeError: 'module' object has no attribute 'mixer'
那么我该如何编写脚本来使用 pygame 播放那个 Audio.wav 文件呢?
我使用的是Python3.4 64位版本!
Add python to windows 7 PATH
- 按住 Win 并按 Pause。
- 单击“高级系统设置”。
- 单击环境变量。
- 在"User variables"中如果没有PATH点击"New",否则selectPATH变量点击"Edit"
- 将
;C:\python34
附加到Path
变量。 - 重新启动命令提示符。
正在安装pygame
您首先要安装 pygame。您可以通过多种方式执行此操作。 但是要从源安装
- 下载解压pygame-1.9.1release.zip
- 打开一个终端
- cd 进入您刚刚提取的 pygame-1.9.1release 文件夹
- 运行
python setup.py
或者,如果 python 与 windows 安装中的 .py
文件相关联(这是默认设置),请打开解压缩的文件夹并双击 setup.py
运行宁pygame
你需要运行
pygame.init()
在调用 pygame 模块之前!
希望能帮您解决问题
例子
import pygame
pygame.init()
s = pygame.mixer.Sound("C:\Users\Asdf\Documents\Audio.wav")
# Start playback
s.play()
# Stop playback
s.stop()
在 windows 上播放声音(没有 pygame)
import winsound
fname = "C:\Users\Asdf\Documents\Audio.wav"
winsound.PlaySound(fname, winsound.SND_FILENAME)
这是一个适用于所有平台的简单解决方案,除了单个 Python 文件外没有依赖项。
首先使用 pip 安装 playsound
:
pip install playsound
然后从模块中导入同名函数并运行它。很简单,不是吗?
from playsound import playsound
# wav works on all platforms. mp3 works on OS X. Other filetype/OS combos may work but have not been tested.
playsound('/path/to/file/you/want/to/play.wav')
免责声明:我写了 playsound
。它有一个可选的第二个参数,block = False
,这样函数调用就不会阻塞。它会默认阻止。
为了这个目的,我已经有效地使用了 pydub。该模块可以安装为
pip install pydub
pydub 确实需要安装 FFMPEG。 @https://github.com/jiaaro/pydub
给出了pydub和ffmpeg的安装细节安装上述依赖项后,该库将以相当简单的方式跨不同平台[windows、Linux、Mac]提供对各种音频格式的全面操作。
这是一个例子
from pydub import AudioSegment
from pydub.playback import play
fname = "C:\Users\Asdf\Documents\Audio.wav"
mysong = AudioSegment.from_wav(fname)
play(mysong)