OBS扩展模块DLL-模块使用
2024-06-20
17
0
整体只找到这几个获取模块的使用
obs_module_t *mod = obs_get_module("win-wasapi");
obs_module_t *mod = obs_get_module("win-dshow")
obs_module_t *mod = obs_get_module("win-capture");
obs_module_t *mod = obs_get_module("image-source");
win-wasapi-音频输入采集、音频输音频出采集
配置路径:”C:\Program Files\obs-studio\data\obs-plugins\win-wasapi\locale\zh-CN.ini”
void ApplicationAudioCaptureToolbar::Init()
{
delete ui->activateButton;
ui->activateButton = nullptr;
obs_module_t *mod = obs_get_module("win-wasapi");
const char *device_str = obs_module_get_locale_text(mod, "Window");
ui->deviceLabel->setText(device_str);
prop_name = "window";
ComboSelectToolbar::Init();
}
win-dshow-虚拟相机
配置路径:”C:\Program Files\obs-studio\data\obs-plugins\win-dshow\locale\zh-CN.ini”
DeviceCaptureToolbar::DeviceCaptureToolbar(QWidget *parent, OBSSource source)
: QWidget(parent),
weakSource(OBSGetWeakRef(source)),
ui(new Ui_DeviceSelectToolbar)
{
ui->setupUi(this);
delete ui->deviceLabel;
delete ui->device;
ui->deviceLabel = nullptr;
ui->device = nullptr;
OBSDataAutoRelease settings = obs_source_get_settings(source);
active = obs_data_get_bool(settings, "active");
obs_module_t *mod = obs_get_module("win-dshow");
if (!mod)
return;
activateText = obs_module_get_locale_text(mod, "Activate");
deactivateText = obs_module_get_locale_text(mod, "Deactivate");
ui->activateButton->setText(active ? deactivateText : activateText);
}
win-capture-显示器采集、窗口采集、游戏源
配置文件路径:”C:\Program Files\obs-studio\data\obs-plugins\win-capture\locale\zh-CN.ini”
GameCaptureToolbar::GameCaptureToolbar(QWidget *parent, OBSSource source)
: SourceToolbar(parent, source),
ui(new Ui_GameCaptureToolbar)
{
obs_property_t *p;
int cur_idx;
ui->setupUi(this);
obs_module_t *mod = obs_get_module("win-capture");
if (!mod)
return;
ui->modeLabel->setText(obs_module_get_locale_text(mod, "Mode"));
ui->windowLabel->setText(
obs_module_get_locale_text(mod, "WindowCapture.Window"));
OBSDataAutoRelease settings = obs_source_get_settings(source);
std::string cur_mode = obs_data_get_string(settings, "capture_mode");
std::string cur_window = obs_data_get_string(settings, "window");
ui->mode->blockSignals(true);
p = obs_properties_get(props.get(), "capture_mode");
cur_idx = FillPropertyCombo(ui->mode, p, cur_mode);
ui->mode->setCurrentIndex(cur_idx);
ui->mode->blockSignals(false);
ui->window->blockSignals(true);
p = obs_properties_get(props.get(), "window");
cur_idx = FillPropertyCombo(ui->window, p, cur_window);
ui->window->setCurrentIndex(cur_idx);
ui->window->blockSignals(false);
if (cur_idx != -1 && obs_property_list_item_disabled(p, cur_idx)) {
SetComboItemEnabled(ui->window, cur_idx, false);
}
UpdateWindowVisibility();
}
image-source - 色源(颜色)、图片和图片幻灯片
关于image-source的详细信息可见:https://www.pnpon.com/article/detail-689.html
配置文件路径:”C:\Program Files\obs-studio\data\obs-plugins\image-source\locale\zh-CN.ini”
ImageSourceToolbar::ImageSourceToolbar(QWidget *parent, OBSSource source)
: SourceToolbar(parent, source),
ui(new Ui_ImageSourceToolbar)
{
ui->setupUi(this);
obs_module_t *mod = obs_get_module("image-source");
ui->pathLabel->setText(obs_module_get_locale_text(mod, "File"));
OBSDataAutoRelease settings = obs_source_get_settings(source);
std::string file = obs_data_get_string(settings, "file");
ui->path->setText(file.c_str());
}