2011-03-19 55 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