Python 如何使用Pygame.mixer.music同时播放两首歌曲?

Python 如何使用Pygame.mixer.music同时播放两首歌曲?,python,python-3.x,audio,pygame,python-multiprocessing,Python,Python 3.x,Audio,Pygame,Python Multiprocessing,我必须制作一台能同时播放两首歌曲的播放器。 问题是,我能找到的唯一支持我需要使用的所有声音处理方法的模块是Pygame.mixer.music。不幸的是,它一次只支持一个音乐流 我试图用线程和多处理来欺骗系统,但它没有成功 我的问题是,是否有人知道Python3模块可以同时播放两首歌曲,并且具有以下可能性:暂停、停止、搜索歌曲、更改歌曲的音量和速度。 或者有人知道如何使用Pygame模块实现这一点吗 下面是我尝试使用的多处理代码,如果有人能帮上忙,我将不胜感激 import pygame imp

我必须制作一台能同时播放两首歌曲的播放器。 问题是,我能找到的唯一支持我需要使用的所有声音处理方法的模块是Pygame.mixer.music。不幸的是,它一次只支持一个音乐流

我试图用线程和多处理来欺骗系统,但它没有成功

我的问题是,是否有人知道Python3模块可以同时播放两首歌曲,并且具有以下可能性:暂停、停止、搜索歌曲、更改歌曲的音量和速度。 或者有人知道如何使用Pygame模块实现这一点吗

下面是我尝试使用的多处理代码,如果有人能帮上忙,我将不胜感激

import pygame
import multiprocessing

pygame.mixer.init()


def play(arg):
    pygame.mixer.init()
    if arg:
        print(arg)
        pygame.mixer.music.load('song1.ogg')
        pygame.mixer.music.play()
    else:
        print(arg)
        pygame.mixer.music.load('song2.ogg')
        pygame.mixer.music.play()


p1 = multiprocessing.Process(target=play, args=(True,))
p2 = multiprocessing.Process(target=play, args=(False,))
p1.start()
p2.start()

while True:
    pass

您不需要任何线程或多处理。您可以使用以下对象并行播放两首歌曲:

导入pygame
pygame.mixer.init()
song_1=pygame.mixer.Sound('song1.ogg'))
song_2=pygame.mixer.Sound('song2.ogg'))
宋_1.播放(0)
歌曲2.播放(0)
当pygame.mixer.get_busy()时:
pygame。时间。延迟(10)

我找到了完成工作的方法。 目前,我正在使用2个声音操纵模块:

  • 音乐
  • python vlc

它们一起正常工作,并具有我所需的功能。

pygame.mixer.Sound对象没有暂停和查找选项,这是我应该执行的操作所必需的。@aon2003 pygame.mixer模块有一个
pygame.mixer.pause
方法。没有pygame模块具有搜索。所以你的问题没有解决办法。很抱歉我试图帮助你。