Я хочу использовать mciSendString для воспроизведения базового файла WAV, начиная с точки, скажем, 20 секунд с начала аудио.
Я попытался использовать его, чтобы просто открыть и воспроизвести основной файл WAV в том же каталоге, что и программа, но безрезультатно.
Это основной код, который у меня есть:
int main() {
char lpszReturnString[16384];
MCI_PLAY_PARMS song = { NULL, 0, 15 };
MCIERROR open = mciSendString("open \"C:\\Users\\ethan\\source\\repos\\Project2\\Project2\\America.wav\" type waveaudio alias America", lpszReturnString, lstrlen(lpszReturnString), NULL);
MCIERROR set = mciSendString("set America time format samples", lpszReturnString, lstrlen(lpszReturnString), NULL);
MCIERROR play = mciSendString("play America from 1", lpszReturnString, lstrlen(lpszReturnString), NULL);
cout << LOWORD(open) << endl;
cout << HIWORD(open) << endl;
cout << LOWORD(set) << endl;
cout << HIWORD(set) << endl;
cout << LOWORD(play) << endl;
cout << HIWORD(play) << endl;
system("pause");
}
Вывод на консоль:
0
0
0
0
320
0
Итак, я понимаю, что в игре mciSendString есть ошибка, которая переводится как «MCIERR_WAVE_OUTPUTSINUSE».
Что это значит и как я могу это исправить?