2017-12-21 21 views
1

2つの異なるオーディオファイルを2つの異なるチャンネルで同時に再生するコードがありますが、それぞれのファイルを1つのチャンネルで再生する方法が必要ですもう一方のチャネルは他のチャネルにあります。たとえば、2つの別々のチャンネル、RightとLeftで同時に再生される2つのオーディオファイル。そのため、オーディオは右スピーカで再生され、他のオーディオは左スピーカで再生されます。左チャンネルと右チャンネルで2種類の異なるオーディオファイルが再生される

私は以下のコードで試しましたが、オーディオは特定のチャンネルにマッピングされていませんが、両方のスピーカーで再生されています。

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) 

ご協力いただきまして誠にありがとうございます。

+0

チャネルのインデックスはゼロですか? 'Channel(0)'と 'Channel(1)'が必要かもしれません。 – alxwrd

+0

わかりませんでしたか? –

+0

pygame.mixer.Channel(0).play(m、-1) pygame.mixer.Channel(1).play(n、-1)同じ結果が得られます。 –

答えて

1

ドキュメントでは、左右のスピーカーの音量をChannel.set_volumeに渡す必要があると言われています。

# 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()リターンというチャネルを使用することができます。

channel = sound0.play() 
channel.set_volume(1.0, 0.0) 
関連する問題