[問題] playsound 或 sndplaysound 播放WAV檔꘠…

看板C_and_CPP (C/C++)作者 (嗨嗨)時間15年前 (2011/03/15 02:25), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Visual Studio C++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 程式寫好了只剩下WAV檔無法播放 餵入的資料(Input): #include "stdafx.h" #include <windows.h> #pragma comment(lib,"winmm.lib") #include<mmsystem.h> int _tmain(int argc, _TCHAR* argv[]) { . . . sndPlaySound("C:\\檔名.wav",SND_ASYNC|SND_FILENAME); . . . } 預期的正確結果(Expected Output): 能播放出WAV檔的聲音 錯誤結果(Wrong Output): error : 'sndPlaySoundW' : 無法將參數 1 從 'const char [18]' 轉換成 'LPCWSTR' 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): 我有去Google過播放WAV檔的方法 看到的都是同一篇文章轉來轉去 他有說利用Playsound和sndPlaysound可以播放 一種是我上面那一個形式的 直接寫檔案路徑 不過我沒有辦法成功 另一種是將WAV檔加入資源檔中,不過太難了搞了好久都沒辦法成功。 所以就上來求救了! 想問有沒有其他方法可以播放WAV檔? 還是我程式哪邊有問題? P.S. 我還有改成 1.sndPlaySound((LPCWSTR)"C:\\檔名.wav",SND_ASYNC|SND_FILENAME); 2.TCHAR* WAVE = _T("C:\\檔名.wav"); sndPlaySound(WAVE,SND_ASYNC|SND_FILENAME); 上面2種會變成沒有錯誤 不過會有"咚"的聲音 謝謝大家了!!^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.198.231 ※ 編輯: ks770521 來自: 114.32.198.231 (03/15 02:30)

03/15 02:32, , 1F
'LPCWSTR' 繼續去 google
03/15 02:32, 1F
※ 編輯: ks770521 來自: 114.32.198.231 (03/15 02:46)

03/15 02:56, , 2F
system("pause"); return 0;
03/15 02:56, 2F

03/15 12:18, , 3F
阿 可以了 原來是我的WAV太短!! 謝謝樓上
03/15 12:18, 3F

03/15 12:34, , 4F
太短...(拍拍)
03/15 12:34, 4F
文章代碼(AID): #1DVbslfW (C_and_CPP)
文章代碼(AID): #1DVbslfW (C_and_CPP)