2016-07-27 193 views
-1

我嘗試在Ubuntu中使用C++播放聲音文件。我可以用g++ play.cpp -o play行在終端編譯此代碼。它可以很好地編譯,但是當我使用./play執行它時,它說Failed to play sound: File or data corrupt。我找不到問題在哪裏。這是我的代碼;使用system()函數播放Ubuntu中的聲音文件

#include <iostream> 
#include <stdlib.h> 

int main() 
{ 
    system("canberra-gtk-play -f cow.wav"); 
    return 0; 
} 
+0

執行'canberra-gtk-play -f cow.wav'而不是'。/ play'時會發生什麼? – immibis

+0

@immibis它仍然給出相同的錯誤 – noname59

+0

那麼很明顯,錯誤與你的C程序無關。 – immibis

回答

2

輸出Failed to play sound: File or data corrupt來自於你的系統調用推出了堪培拉的球員,是不是因此在你的程序有問題。

這可能意味着這個特定的文件確實已損壞。我建議下載一個不同的示例文件。提供的文件here對我來說很好。

使用'exiftool cow.wav'可能會爲您提供有關文件問題的更多信息。