Login
Работа, ЯП и ООП
2729 просмотров
Перейти к просмотру всей ветки
in Antwort uscheswoi_82 16.06.24 11:09
Да вот ещё... это мой фреймворк т.к. гнутый си т.е. GCC не поддерживает format, хотя на дворе 2024 год, пришлось вот так делать:
// -lwinmm #include <stdio.h> #include "multimedia.h" Multimedia::Multimedia(string filename, string device) { this->id = "snd1"; this->filename = filename; this->device = device; this->handle = NULL; } Multimedia::Multimedia(string filename, string device, HWND handle) { this->id = "snd1"; this->filename = filename; this->device = device; this->handle = handle; } void Multimedia::open() { string cmd = "open \""; cmd += this->filename; cmd += "\" type "; cmd += this->device; cmd += " alias "; cmd += this->id; cmd += " wait "; /*if(this->handle != NULL) { int ihwnd = DECLARE_HANDLEt(this->handle); stringstream s(); s << ihwnd; cmd += "window "; cmd += s; }*/ mciSendString(cmd.c_str(), NULL, 0, NULL); } void Multimedia::play() { string cmd = "play "; cmd += this->id; mciSendString(cmd.c_str(), NULL, 0, 0); } void Multimedia::play_video() { string cmd = "play "; cmd += this->id; // cmd += " window at 10 80 300 225 notify"; //cmd += " notify "; mciSendString(cmd.c_str(), NULL, 0, 0); } void Multimedia::stop() { string cmd = "stop "; cmd += this->id; mciSendString(cmd.c_str(), NULL, 0, 0); } void Multimedia::close() { string cmd = "close "; cmd += this->id; mciSendString(cmd.c_str(), NULL, 0, 0); } // new 06.09 25.06.2021 void Multimedia::set_window() { char buf[64]; /// !!!!!!!!!!!!!!!!!!!!! sprintf(buf, "%p", this->handle); /// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! string str(buf); /// !!!!!!!!!!!!!! string cmd = "window "; cmd += this->id; cmd += " handle "; cmd += str; //MessageBox(NULL, cmd.c_str(), "", MB_OK); mciSendString(cmd.c_str(), NULL, 0, 0); }
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение