我如何在python 3中播放声音?

时间:2015-06-16 06:20:06

标签: python audio pygame

我想编写一个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(最近一次调用最后一次):文件“”,第1行,in          crash_sound = pygame.mixer.Sound(“crash.wav”)AttributeError:'module'对象没有属性'mixer'

那么如何编写脚本以使用pygame播放该Audio.wav文件?

我正在使用Python 3.4 64位版本!

3 个答案:

答案 0 :(得分:4)

我已经有效地使用了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)

答案 1 :(得分:0)

Add python to windows 7 PATH

  1. 按住赢取并按暂停
  2. 单击“高级系统设置”。
  3. 单击“环境变量”。
  4. 在“用户变量”中如果没有PATH则单击“新建”,否则选择PATH变量并单击“编辑”
  5. ;C:\python34附加到Path变量。
  6. 重新启动命令提示符。
  7. enter image description here

    安装pygame

    您首先要安装pygame。您可以通过多种方式执行此操作。 但要从源代码安装

    1. 下载并解压缩pygame-1.9.1release.zip
    2. 打开终端
    3. 进入您刚提取的 pygame-1.9.1release 文件夹
    4. 运行python setup.py
    5. 或者,如果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)
      

答案 2 :(得分:0)

这是一个简单的解决方案,适用于除了单个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,这将使函数调用不会阻塞。它会默认阻止。