问题描述
我在github上发现了以下代码,该代码使用PyAL来创建声音,这些声音似乎通过使用OpenAL库向您靠近。
我下载了所有文件,并进入示例文件夹以运行以下audioplayer.py。使用hey.wav文件可以很好地工作。
现在,我想运行完全相同的东西,但声音不同。因此,我得到了以下wav file并运行了audioplayer.py。但是声音似乎并没有像hey.wav文件那样向我移动然后离开。一遍又一遍地发出恒定的声音。
我很困惑为什么它只能用于一个wav文件而不适用于另一个文件?
"""OpenAL playback example."""
import os
import sys
import time
from openal.audio import SoundSink,SoundSource
from openal.loaders import load_wav_file
def run():
if len (sys.argv) < 2:
print ("Usage: %s wavefile" % os.path.basename(sys.argv[0]))
print (" Using an example wav file...")
dirname = os.path.dirname(__file__)
fname = os.path.join(dirname,"hey.wav")
else:
fname = sys.argv[1]
sink = SoundSink()
sink.activate()
source = SoundSource(position=[10,0])
source.looping = True
data = load_wav_file(fname)
source.queue(data)
sink.play(source)
while source.position[0] > - 10:
source.position = [source.position[0] - 1,source.position[1],source.position[2]]
sink.update()
print("playing at %r" % source.position)
time.sleep(2)
print("done")
if __name__ == "__main__":
sys.exit(run())
解决方法
音频文件必须是单声道而不是立体声