我在Ubuntu中制作了一个游戏,我使用.wav文件在后台使用此功能播放声音: -
system("canebrake-gtk-play -f file_path")
但是当声音播放时,整个游戏停止意味着动画停止,但声音完成后,游戏会再次正常启动....但这对我来说是一个混乱并且显示出非常糟糕的影响,所以我想从我的游戏中删除这个令人毛骨悚然的东西...所以任何帮助都会很明显.. THANKX
答案 0 :(得分:1)
system("canebrake-gtk-play -f file_path")
这将从您的代码同步执行。这就是为什么你的程序在执行时被阻止的原因。
您可以考虑使用fork()
和exec()
执行该操作,以便在后台执行。
提供单独的线程(而不是进程)是另一种选择。
答案 1 :(得分:1)
这是一种快速而又肮脏的方式。
pid_t pid = fork();
if (pid == 0) {
system("canebrake-gtk-play -f file_path");
exit(0);
}
您也可以使用线程而不是其他进程。