[英]play .wav file using c language
我被要求使用C語言播放.wav文件,我使用的編譯器是Devcpp。 我正在嘗試使用如下功能PlaySound()
:
PlaySound("C:/Users/wavfiles/13.1.wav", NULL, SND_FILENAME);
如果我將目錄直接輸入到這樣的函數中,則可以成功播放聲音。
但是,我想將目錄設置為變量。 我創建一個帶有目錄列表的文本文件,然后提取所需的目錄,然后將其放入PlaySound()
函數。 這是我的代碼的一部分:
FILE *fw;
char addr[1000]
char schapter[50];
while(fgets(addr, 1000, fw) != NULL) {
if((strstr(addr, schapter)) != NULL) {
printf("\n%s", addr);
PlaySound(addr, NULL, SND_FILENAME);
}
}
在這種情況下,目錄已分配給addr
( addr = "C:/Users/wavfiles/13.1.wav"
),然后將addr
放入PlaySound()
,但它不起作用。
我在這個問題上困擾了很長時間,無法繼續前進。 如果有人可以給我建議或解決方案,我將不勝感激。 謝謝。
fgets()
返回的字符串包含終端換行符。 您需要將其刪除以獲取文件名。
一種簡單的方法是使用strchr()
定位換行符:
while (fgets(addr, 1000, fw) != NULL) {
char *nl = strchr(addr, '\n');
if (nl) *nl = 0;
…
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.