用Python实现OpenAL
为了好玩,我想用OpenAl创建一些3D声音。但是我注意到python没有太多的支持。我能找到的唯一文件是。但是作为一个初学者,我仍然无法从下面的链接中获得运行的基本代码。它只是说没有名为“openal”的模块。我尝试通过pip安装它,但也不存在 我浏览了文档,它说在从网站下载openAL后运行用Python实现OpenAL,python,openal,Python,Openal,为了好玩,我想用OpenAl创建一些3D声音。但是我注意到python没有太多的支持。我能找到的唯一文件是。但是作为一个初学者,我仍然无法从下面的链接中获得运行的基本代码。它只是说没有名为“openal”的模块。我尝试通过pip安装它,但也不存在 我浏览了文档,它说在从网站下载openAL后运行python setup.py install。我下载了openAL安装程序,它只是说安装完成了。没有要运行的setup.py文件。不过,我的Windows/System32文件夹中确实有OpenAL32
python setup.py install
。我下载了openAL安装程序,它只是说安装完成了。没有要运行的setup.py文件。不过,我的Windows/System32文件夹中确实有OpenAL32.dll文件
所以我对如何开始在python中使用这个模块感到有点困惑?是否有关于openAL与python的教程,或者您是否建议初学者使用另一种具有更好文档的语言
from openal import al, alc # imports all relevant AL and ALC functions
def main():
source = al.ALuint()
device = alc.alcOpenDevice(None)
if not device:
error = alc.alcGetError()
# do something with the error, which is a ctypes value
return -1
# Omit error checking
context = alc.alcCreateContext(device, None)
alc.alcMakeContextCurrent(context)
# Do more things
al.alGenSources(1, source)
al.alSourcef(source, al.AL_PITCH, 1)
al.alSourcef(source, al.AL_GAIN, 1)
al.alSource3f(source, al.AL_POSITION, 10, 0, 0)
al.alSource3f(source, al.AL_VELOCITY, 0, 0, 0)
al.alSourcei(source, al.AL_LOOPING, 1)
al.alDeleteSources(1, source)
alc.alcDestroyContext(context)
alc.alcCloseDevice(device)
return 0
if __name__ == "__main__":
raise SystemExit(main())
我找到了下面的github链接,其中似乎包含了使用python运行openAL所需的所有文件:我运行了
python setup.py安装
,然后在examples文件夹中运行了player.py文件。但这并不能真正解释如何在python中为初学者使用openAL。