Так что я пытаюсь сделать простую DLL для воспроизведения звуков в другой программе. Я пытаюсь использовать функцию playound, и я ее настроил, но когда я запускаю ее в другой программе, я получаю звуковой сигнал по умолчанию. Вот мой код.Звук не работает с 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 или что-то еще, но я не знаю, что происходит.
Любая помощь очень ценится!
Я пробовал это, но то же самое происходит. Я не уверен в юникоде, но я использую VC++ 2010, и он говорит мне, что это неправильно, если я не использую. – null
см. [Здесь] (http://stackoverflow.com/a/332086/33499), почему приведение типов может быть опасным. Вы должны стараться избегать его, если это возможно. Вы должны использовать [MultiByteToWideChar] (http://msdn.microsoft.com/en-us/library/dd319072%28v=vs.85%29.aspx) для преобразования строки. Но, вероятно, проще, если вы вместо этого используете «PlaySoundA», что должно избегать приведения типов. – wimh
Я попробовал multibyte для широкого символа, и он говорит, что это неправильно ... Кроме того, что такое PlaySoundA? (Я - C++ newb.) – null