簡體   English   中英

使用system()函數在后台播放聲音

[英]using system() function to play sound in the background

我在Ubuntu中制作了一個游戲,其中使用.wav文件使用此功能在后台播放聲音:-

system("canebrake-gtk-play -f file_path")

但是當播放聲音時,整個游戲會停止,這意味着動畫會停止,但是在聲音結束后,游戲會正常重新開始....但是,這給我造成了麻煩,並顯示了非常不好的影響,所以我想從我的游戲中刪除這個令人毛骨悚然的東西...所以任何幫助都將是可貴的.. THANKX

system("canebrake-gtk-play -f file_path")

這將與您的代碼同步執行。 這就是為什么您的程序在執行此操作時被阻止的原因。

您可能會考慮使用fork()exec()在后台執行。

提供單獨的線程(而不是進程)是另一種選擇。

這是一種快速而骯臟的方法。

pid_t pid = fork();

if (pid == 0) {
   system("canebrake-gtk-play -f file_path");
   exit(0);
}

您也可以使用線程代替其他進程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM