AIMP for Windows > Разработка / Development |
(Случайная Тишина) во время воспроизведение музыки |
(1/2) > >> |
VRS:
Всем привет Хочу написать плагин для случайной тишины (для эксперимента), но я не знаю с чего начать. Я понял что плагины написаны на языке c++ , с помощью chatGPT я получил такой код, но код не работает , помогите пожалуйста. #include "AIMPSDK.h" static IAIMPServicePlayer* playerService = nullptr; PLUGIN_EXPORT HRESULT WINAPI AIMPPluginInitialize(IAIMPCore* core) { if (SUCCEEDED(core->QueryInterface(IID_IAIMPServicePlayer, reinterpret_cast<void**>(&playerService)))) { // Инициализация вашего плагина return S_OK; } return E_FAIL; } PLUGIN_EXPORT void WINAPI AIMPPluginFinalize() { // Освободите ресурсы вашего плагина if (playerService != nullptr) { playerService->Release(); playerService = nullptr; } } PLUGIN_EXPORT void WINAPI AIMPPluginInfo(IAIMPPluginInfo* info) { // Заполните информацию о вашем плагине } PLUGIN_EXPORT void WINAPI AIMPPluginExecute(IAIMPCore* core) { if (playerService != nullptr) { // Получите текущую громкость звука float currentVolume; playerService->GetVolume(¤tVolume); // Генерируйте случайное число для уменьшения звука float randomVolume = static_cast<float>(rand()) / static_cast<float>(RAND_MAX); // Установите новую громкость звука playerService->SetVolume(randomVolume); // Подождите некоторое время (например, секунду) Sleep(1000); // Восстановите исходную громкость звука playerService->SetVolume(currentVolume); } } |
Artem:
Честно говоря, тут написан бред. Почему оно и не работает. Скачайте пакет SDK, там есть документация и примеры (правда на дельфе). В качестве примеров на с++, советую посмотреть код этих плагинов: https://github.com/ArtemIzmaylov/aimp_vgmstream и https://github.com/ArtemIzmaylov/AIMPYouTube |
Artem:
По алгоритму, как я понял, нейросетка предложила временно вырубать громкость, так вот, ждать в главном потоке нельзя - вы повесите интерфейс. Делать надо либо через поток, либо через таймер со случайным интервалом |
VRS:
--- Quote from: Artem on October 07, 2023, 13:48:37 ---Скачайте пакет SDK, там есть документация и примеры (правда на дельфе) --- End quote --- что если написать такой плагин в делфи? Хотя на каком языке написать не подскажите (в каком будет легче)? И хочу узнать как вы бы реализовали такой плагин через потоки |
Artem:
Реализуйте на том языке, который вы лучше знаете. |
Navigation |
Message Index |
Next page |