2011-03-19 930 views
2

如何在lua播放声音?有没有简单的窍门如何做到这一点?如何在lua播放声音

我的目标是在玩我的游戏期间播放一些ogg(或mp3)文件,这是在lua中编程的。它在Windows上运行。

+0

你使用任何框架(如爱)你的游戏程序? – 2011-03-20 00:19:00

+0

我只使用VCL GUI库。这是互动小说。 – 2011-03-20 19:33:49

回答

2

Lua没有任何本机声音API。如果有Lua的插件/扩展程序来完成音频控制/播放,则必须单独进行挖掘。或者,如果Lua支持COM,则可以直接与Windows音频设备通话。

+0

Lua通过LuaCOM模块支持COM:http://luaforge.net/projects/luacom/。 – 2011-03-20 00:17:52

+0

...虽然我不会推荐它作为游戏声音的解决方案。最好绑定一些熟悉的C库(或者找到现有的绑定)。 – 2011-03-20 00:59:27

4

Lua没有任何内置的声音API。当你在Windows上,您有以下选择:

  • 写绑定选择的音响系统(OpenAL的或一些更高层 - 因为如果你需要帮助挑选一个独立的非Lua的特定问题)。

  • 使用LuaJIT2 FFI直接访问所选音响系统的DLL功能。

  • 否则,如果您不使用LuaJIT2,请使用Alien FFI库。或者,实际上,如果您熟悉COM内容,或者确实使用LuaCOM播放声音(使用DirectSound?)。

1

proteaAudio是一个非常容易的lua库,可以播放音频,甚至可以随时生成音频。

+0

这里是一个链接:http://viremo.eludi.net/proteaAudio/proteaaudiolua.html – lhf 2011-12-21 16:16:18

1

可以使用电晕库:

--Loads the selected audio (make sure the name is the same as the .wav file) 
local audio1 = audio.loadSound("audio1.wav") 

--Plays the audio on any available channel (theres up to 32 channels) 
local audio1Channel = audio.play(audio1) 

来源:http://docs.coronalabs.com/api/library/audio/play.html