請教使用sndPlaySound函數也聽不到聲音的問題 |
答題得分者是:dllee
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
請教各位前輩﹒ 小弟使用MMSystem的sndPlaySound函數也聽不到聲音﹐這是什么問題﹖程式碼如下﹕
procedure TForm1.Button2Click(Sender: TObject);
begin
If Not OpenDialog1.Execute then
Exit
else
sndplaysound(pchar(opendialog1.FileName), SND_ASYNC);
end;
(在Uses語句中已經有使用MMSystem) 另外﹐請教此函數中暫停聲音播放和循環播放的語法是什么﹖ 謝謝﹗ 努力,相信會獲得美麗!
忻晟
------
忻晟 |
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
暫停
sndPlaySound(nil,SND_ASYNC); 循環
sndPlaySound(pchar(opendialog1.FileName), SND_ASYNC + SND_LOOP); 看起來,用法沒錯,不清楚為何不行? speaker 有開嗎? 另外,您可以試試 >沒空更新的網頁...
href="http://dllee.adsldns.org">http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
在 BCB 中是要 include
mmsystem.h
在 Delphi 中應該是 uses MMSystem 沒錯,
我自己在使用時(BCB)
TMemoryStream *stm=new TMemoryStream; stm->LoadFormFile(OpenDialog1->FileName); PlaySound((PCHAR)stm->Memory, 0, SND_ASYNC | SND_MEMORY);並沒有任何問題,Delphi 的話: 先 Create TMemoryStream 再 stm.LoadFormFile(OpenDialog1.FileName); PlaySound((PCHAR)stm.Memory, 0, SND_ASYNC SND_MEMORY);如果不行,說真的,我不知道為什麼不行! 您確定『音量控制』中 『Wave』那一項是否有設到靜音或是音量已調到最小了所以聽不到呢? 沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
暫停/停止
sndPlaySound(nil,SND_ASYNC); 循環
sndPlaySound(pchar(opendialog1.FileName), SND_ASYNC + SND_LOOP); 暫停/停止
PlaySound(Nil, 0, SND_ASYNC);
播放
PlaySound(pchar(opendialog1.FileName), 0, SND_ASYNC + SND_FILENAME);
循環播放
PlaySound(pchar(opendialog1.FileName), 0, SND_ASYNC + SND_FILENAME + SND_LOOP); 這兩個函式應該只能播放 .WAV 檔吧,如果您要播放 MIDI 請參考: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/midi_4ywj.asp 沒空更新的網頁...
http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
引言: 暫停/停止 sndPlaySound(nil,SND_ASYNC); 循環 sndPlaySound(pchar(opendialog1.FileName), SND_ASYNC SND_LOOP); 暫停/停止 PlaySound(Nil, 0, SND_ASYNC); 播放 PlaySound(pchar(opendialog1.FileName), 0, SND_ASYNC SND_FILENAME); 循環播放 PlaySound(pchar(opendialog1.FileName), 0, SND_ASYNC SND_FILENAME SND_LOOP); 這兩個函式應該只能播放 .WAV 檔吧,如果您要播放 MIDI 請參考: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/midi_4ywj.asp 沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....感謝dllee版主﹒ 再請教您暫停/停止的函式有'0'与沒有'0'的區別是什么呢﹖ 還有循環函式中有無'0'和'SND_FILENAME'有何區別呢﹖ 努力,相信會獲得美麗! 忻晟
------
忻晟 |
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
沒有區別,只是叫用的函式不同,用法不同而已。
如果您要使用 Windows API,請您一定要參考 MSDN http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/mmfunc_9uxw.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/mmfunc_4uzo.asp 沒空更新的網頁...
http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
引言: 沒有區別,只是叫用的函式不同,用法不同而已。 如果您要使用 Windows API,請您一定要參考 MSDN http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/mmfunc_9uxw.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/mmfunc_4uzo.asp 沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....謝謝dllee版主﹒ 努力,相信會獲得美麗! 忻晟
------
忻晟 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |