【问题标题】:Sounds with pygame can't be openedpygame的声音打不开
【发布时间】:2018-06-05 16:47:42
【问题描述】:

我只是想做这个非常简单的事情,我想根据触摸传感器播放两个不同的声音文件。 我目前遇到的问题是,我什至无法在没有其他任何东西的情况下播放其中一个,因为“文件无法打开”。

import pygame

pygame.mixer.pre_init(44100, -16, 12, 512)
pygame.init

slowbeat = pygame.mixer.Sound('/home/pi/gpio-music-box/samples/slowbeat.wav')
slowbeat.set_volume(.4);

fastbeat = pygame.mixer.Sound('/home/pi/gpio-music-box/samples/fastbeat.wav')
fastbeat.set_volume(.4);

slowbeat.play()

回溯:

Traceback(最近一次调用最后一次):文件“/home/pi/a.py”,第 11 行,在 slowbeat = pygame.mixer.Sound('slowbeat.wav') pygame.error: 无法打开文件'slowbeat.wav'

【问题讨论】:

  • 请发布完整的错误信息(回溯)。这可能是路径或文件名的问题。仔细检查它们是否正确。另外,您忘记了pygame.init 后面的括号。
  • 哦,谢谢,这是整个错误消息:
  • 回溯(最近一次调用最后):文件“/home/pi/a.py”,第 11 行,在 中 slowbeat = pygame.mixer.Sound('slowbeat.wav') pygame .error: 无法打开文件'slowbeat.wav'
  • 添加缺少的括号修复了它,对吧?你必须调用这个函数来初始化所有的 pygame 模块,否则有些事情将无法正常工作。您通常还必须打开一个 pygame 窗口才能播放声音和音乐。如果你不想开窗,你可以在pygame.init()之前调用pygame.mixer.init()
  • 嗯,也许我做错了什么,但仍然弹出相同的错误消息:(

标签: python python-3.x audio raspberry-pi pygame


【解决方案1】:

pygame.init() 后面添加缺少的括号应该可以解决问题(除非路径和文件名有问题)。你必须调用这个函数来初始化所有的 pygame 模块,否则有些事情将无法正常工作。您通常还必须打开一个 pygame 窗口才能播放声音和音乐。

如果你不想打开窗口,你可以在pygame.mixer.init()之前或代替pygame.init()

【讨论】:

  • 哦,好吧,所以我想我会再检查一次...虽然我认为 .wav 文件应该没有问题?而且我复制了与文件描述中显示的完全相同的路径,但我现在会仔细检查!还是谢谢你!
  • 嗯,那么可能是文件损坏了。
猜你喜欢
  • 1970-01-01
  • 2011-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多