Задать вопрос
Gavryshaaa
@Gavryshaaa
учусь программировать

Как выбрать устройство вывода в audiere в C++?

Как можно выбрать устройство вывода не то, которое по умолчанию выбирается, а то которое мне нужно?
  • Вопрос задан
  • 70 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@eminsk
программирую на python
Тут только только часть кода которая показывает, как выбрать устройство вывода не по умолчанию в Audiere без написания каких-либо циклов for или разветвлений if. Я решил сделать это через <алгоритм> из STL

#include <audiere.h>
#include <vector>
#include <string>
#include <algorithm>

#ifdef _WIN32
#include <objbase.h>
#endif

int main() {
#ifdef _WIN32
  CoInitialize(nullptr);
#endif
  std::vector<audiere::AudioDeviceDesc> devices;
  devices.reserve(8); 
  audiere::GetSupportedAudioDevices(devices); 
  auto it = std::find_if(
    devices.begin(), devices.end(),
    [](auto const& desc){ return desc.name == "MyDesiredDeviceName"; }
  );
  audiere::AudioDevicePtr device(
    audiere::OpenDevice(
      it != devices.end() ? it->name.c_str() : nullptr,
      /* parameters = */ nullptr
    )
  );

  if (!device) {
    // Реализуй свою уже логику обработки ошибок...
    return -1;
  }
  auto sound = audiere::OpenSound(device, "music.ogg", true);
  sound->play();

  // ... Далее уже реализуй свою логику программы ...

  return 0;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы