我在播放声音时遇到问题。
目的是制作一个与我的声音对话的文本到语音程序。
我录制了许多音素(带有词性的.wav文件),它们需要以正确的顺序相互播放。
只有前一个声音播放完毕后,每个声音才可以播放。
因此,如果我的程序需要说“你好”,那就这样做:
**play("h.wav")
if "h.wav":isStopped() then:
play("e.wav")
if "e.wav":isStopped() then... etc ...**
为了测试目的,我想两次播放“a.wav”,但问题是我只听到一次“A”。
如果我玩例如'A',然后是'B',效果很好。
任何帮助将不胜感激!
这是我目前拥有的测试代码:
function love.load()
voice = {"a","b","e","f", ......}
for i in pairs(voice) do
voice[i] = love.audio.newSource("VOICE/" .. voice[i] .. ".wav", "static")
end
end
function love.keypressed(key)
if key == "a" then
voice[1]:play()
while voice[1]:isPlaying() do end
voice[1]:play()
while voice[1]:isPlaying() do end
end
end
最佳答案
只是一个想法,如果您尝试这样做:
if ( voice[ 1 ]:isPlaying() ) then
voice[ 1 ]:stop()
voice[ 1 ]:play()
end
我想您可以在播放任何声音之前先这样做。