【问题标题】:How to store sounds in Python?如何在 Python 中存储声音?
【发布时间】:2018-07-08 13:28:32
【问题描述】:

我正在尝试制作节拍垫。我以这样的方式对此进行了编程,即在按下 a 时踢球并在按下 s 时进行圈套。如果我通过按 a-s-a-s 来制作基本节拍,有什么方法可以保存正在发出的声音吗?

import pygame

pygame.init()


screen = pygame.display.set_mode((800,800))
while True:
    screen.fill((255,255,255))
    for event in pygame.event.get():
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_a:
                pygame.mixer.music.load('Kick1.mp3')
                pygame.mixer.music.play()
            if event.key == pygame.K_s:
                pygame.mixer.music.load('Snare1.mp3')
                pygame.mixer.music.play()
            if event.key == pygame.K_w:
                pygame.quit()
                quit()
    pygame.display.update()


pygame.display.set_caption('Beat pad')

【问题讨论】:

  • 您想组合声音并将它们保存为单个声音文件吗?
  • 是的,我刚刚想通了。我现在发布答案

标签: python python-3.x audio pygame pyaudio


【解决方案1】:

这是我用来读写声音的代码:

f = open ('Kick1.mp3', 'rb')
file = f.read()
f.close()

f = open ('Snare1.mp3', 'rb')
file1 = f.read()


x = open ('Kick3.mp3', 'ab')
x.write(file)
x.write(file1)

由于它是一个 mp3 文件,它不能像文本文件一样读取,也不能像文本文件一样被附加/写入。它应该使用'rb'作为二进制文件读取,也应该使用'ab'像二进制文件一样附加

这里两个不同文件的声音,即..Kick1.mp3 和 Snare1.mp3 将作为一个声音存储在文件“Kick3.mp3”中(因为我是在附加而不是写入它)。 Kick3.mp3 不会退出,因此它将由 python 创建,声音将存储在其中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多