python - 使用多重处理一次运行多种功能

标签 python python-2.7 audio

目前,我正在研究基于文本的RPG。想法是最终实现音轨以及游戏的一般声音以及gui。我已经弄清楚了如何使用pyaudio播放声音。现在的问题是,在播放音乐时我无法运行任何其他功能。有没有解决的办法?我已经阅读了有关多处理的线程;但是,他们似乎并没有太大帮助。没有多处理代码,音频将占主导地位,Python将不会运行任何其他功能。使用代码,游戏将运行游戏,但没有音频。

#Module Imports
from rooms import user, create
import items
import enemies
import rooms
from music import AudioFile
from multiprocessing import Process
import sys

def game():
    global AudioFile
    User = user()
    c = create()
    a = AudioFile("rpg.wav")
    while User.is_alive() and User.win == 0:
        if __name__=='__main__':
            p1 = Process(target = a.play)
            p1.start()
            p2 = Process(target = c)
            p2.start()
            p1.join()
            p2.join()
game()

这不应该允许a.play()和c()类同时运行吗?

感谢您的任何反馈和答案!

最佳答案

请尝试以下代码

while User.is_alive() and User.win == 0:
    if __name__=='__main__':
        procs = [Process(target = a.play), Process(target = c)]
        [p.start() for p in procs]
        [p.join() for p in procs]

关于python - 使用多重处理一次运行多种功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33314316/

相关文章:

python - 故障转移选项在 mysql.connector 中抛出错误

python - 简单的 .cgi 内部服务器错误,出了什么问题?

python - 如何使用 boto 从作业中提取 FreeText 答案

python - Python 中的递归基础

java - 如何使用 sleep 方法重复声音

java - 在java中改变音频速度

matlab - 音频信号滤波器设计

python - 在 Python 中以秒和纳秒为单位获取 POSIX/Unix 时间?

python - django.db.utils.IntegrityError : duplicate key value violates unique constraint, 而 4 行中有 2 行不同

python 字典。 if 语句