两个不同的音频文件在左声道和右声道播放与pygame

时间:2017-12-21 09:17:17

标签: python audio pygame mixer

我有一个代码,我在两个不同的频道中指定了两个不同的音频文件并同时播放,但我需要一种方法让每个文件只在一个频道上播放而另一个在另一个频道上播放。例如,在两个单独的通道(右和左)上同时播放两个音频文件。使得音频在右扬声器上播放而其他音频在左扬声器上播放。

我尝试使用下面的代码,但音频没有映射到任何特定频道,但正在两个扬声器上播放。

pygame.mixer.init(frequency=44000, size=-16,channels=2, buffer=4096)
#pygame.mixer.set_num_channels(2)
m = pygame.mixer.Sound('tone.wav')
n = pygame.mixer.Sound('sound.wav')
pygame.mixer.Channel(1).play(m,-1)
pygame.mixer.Channel(2).play(n,-1)

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

文档说你必须将左右扬声器的音量调到Channel.set_volume

new webpack.optimize.CommonsChunkPlugin({
    async: 'components',
    children: true,
    minChunks({ resource }, count) {
        return resource && resource.includes(paths.components) && count > 1;
    }
}),

new webpack.optimize.CommonsChunkPlugin({
    async: 'vendors',
    children: true,
    minChunks({ resource }, count) {
        console.log(resource, count);
        return resource && (resource.includes(paths.nodeModules) || resource.includes(paths.vendor)) && count > 1;
    }
}),

new webpack.optimize.CommonsChunkPlugin({
    name: 'manifest',
}),

此外,如果您不想自己管理频道,可以使用# Create Sound and Channel instances. sound0 = pg.mixer.Sound('my_sound.wav') channel0 = pg.mixer.Channel(0) # Play the sound (that will reset the volume to the default). channel0.play(sound0) # Now change the volume of the specific speakers. # The first argument is the volume of the left speaker and # the second argument is the volume of the right speaker. channel0.set_volume(1.0, 0.0) 返回的频道。

Sound.play()