如何在Lua中播放声音

如何在 lua 中播放声音?有没有简单的技巧可以做到?

我的目标是在我的使用 lua 编写的游戏中播放一些 ogg(或 mp3)文件。它正在运行在 windows 上。

原文链接 https://stackoverflow.com/questions/5365583

点赞
stackoverflow用户118068
stackoverflow用户118068

Lua 不支持原生的音频 API。如果有一款插件/扩展来完成音频控制/播放,你需要单独去找。或者如果 Lua 支持 COM,你可以直接与 Windows 音频设施进行通讯。

2011-03-19 23:22:54
stackoverflow用户6236
stackoverflow用户6236

Lua 没有内置的声音 API。既然你在 Windows 上,你有以下几个选择:

  • 编写绑定使用一个选择的声音系统(OpenAL 或更高级的——如果你需要帮助选择请提出一个单独的非 Lua-specific 的问题)。

  • 使用 LuaJIT2 的 FFI 直接访问所选择的声音系统的 DLL 函数。

  • 否则,如果你不使用 LuaJIT2,使用 Alien FFI 库。

  • 或者,如果你熟悉 COM 的东西,使用 LuaCOM 播放一些声音(使用 DirectSound?)。

2011-03-20 23:20:04
stackoverflow用户1110214
stackoverflow用户1110214

proteaAudio 是一个相当简单的 Lua 库,用于播放音频甚至实时生成音频。

2011-12-21 16:04:47
stackoverflow用户2272249
stackoverflow用户2272249

你可以使用Corona库:

--加载选定的音频(确保名称与.wav文件相同)
local audio1 = audio.loadSound( "audio1.wav" )

--在任何可用通道上播放音频(最多32个通道)
local audio1Channel = audio.play( audio1 )

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

2015-01-21 01:35:32
stackoverflow用户8301479
stackoverflow用户8301479

在 Windows 中,使用 luacom

require('luacom').CreateObject("wmplayer.ocx").URL="my.mp3"--需要让主机进程保持活动,不要关闭。
2018-08-24 07:22:29