所以我想製作一個簡單的DLL在另一個程序中播放聲音。我正在嘗試使用播放功能,並且已經設置了它,但是當我在另一個程序中運行它時,我得到了默認的嘟嘟聲。這是我的代碼。聲音不適用於PlaySound
export double sound_manage(const char* file_old,double handler)
{
/*
Handler values:
0 - Play sound
1 - Loop sound
2 - Stop sound
*/
bool good;
double ret;
double op;
if (handler == 0) op = SND_ASYNC;
if (handler == 1) op = SND_LOOP;
if (handler == 2) op = SND_PURGE;
LPCTSTR file;
file = LPCTSTR(file_old);
good = PlaySound(file,NULL,op);
ret = double(good);
return ret;
}
我已經在鏈接器中包含了winmib或其他東西,但是我不知道發生了什麼。
任何幫助,非常感謝!
我試過了,但同樣的事情發生。我不確定unicode,但我使用的是VC++ 2010,它告訴我如果我不投射是錯誤的。 – null 2014-10-18 22:57:28
請參閱[這裏](http://stackoverflow.com/a/332086/33499)爲什麼類型轉換可能是危險的。如果可能的話,你應該儘量避免它。您應該使用[MultiByteToWideChar](http://msdn.microsoft.com/zh-cn/library/dd319072%28v=vs.85%29.aspx)來轉換字符串。但是如果你使用'PlaySoundA',它可能會更容易,應該避免類型轉換。 – wimh 2014-10-19 11:03:51
我嘗試了多字節寬字符,它說錯了...另外,什麼是PlaySoundA? (我是C++新手。) – null 2014-10-20 23:20:21