mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-06 19:41:51 +00:00
add audio.get_output_devices_names, set_input_device, set_output_device
This commit is contained in:
parent
b11bdf0bcc
commit
6df27b8992
6 changed files with 169 additions and 42 deletions
|
|
@ -183,7 +183,7 @@ void audio::initialize(bool enabled, AudioSettings& settings) {
|
|||
}, true));
|
||||
}
|
||||
|
||||
input_device = backend->openInputDevice(44100, 1, 16);
|
||||
input_device = backend->openInputDevice(nullptr, 44100, 1, 16);
|
||||
if (input_device) {
|
||||
input_device->startCapture();
|
||||
}
|
||||
|
|
@ -254,15 +254,43 @@ std::unique_ptr<Stream> audio::open_stream(
|
|||
}
|
||||
|
||||
std::unique_ptr<InputDevice> audio::open_input_device(
|
||||
uint sampleRate, uint channels, uint bitsPerSample
|
||||
const char* deviceName, uint sampleRate, uint channels, uint bitsPerSample
|
||||
) {
|
||||
return backend->openInputDevice(sampleRate, channels, bitsPerSample);
|
||||
return backend->openInputDevice(
|
||||
deviceName, sampleRate, channels, bitsPerSample
|
||||
);
|
||||
}
|
||||
|
||||
std::vector<std::string> audio::get_input_devices_names() {
|
||||
return backend->getInputDeviceNames();
|
||||
}
|
||||
|
||||
std::vector<std::string> audio::get_output_devices_names() {
|
||||
return backend->getOutputDeviceNames();
|
||||
}
|
||||
|
||||
void audio::set_input_device(const std::string& deviceName) {
|
||||
auto newDevice = backend->openInputDevice(
|
||||
deviceName.empty() ? nullptr : deviceName.c_str(), 44100, 1, 16
|
||||
);
|
||||
if (newDevice == nullptr) {
|
||||
logger.error() << "could not open input device: " << deviceName;
|
||||
return;
|
||||
}
|
||||
|
||||
if (input_device) {
|
||||
input_device->stopCapture();
|
||||
}
|
||||
input_device = std::move(newDevice);
|
||||
if (input_device) {
|
||||
input_device->startCapture();
|
||||
}
|
||||
}
|
||||
|
||||
void audio::set_output_device(const std::string& deviceName) {
|
||||
backend->setOutputDevice(deviceName);
|
||||
}
|
||||
|
||||
void audio::set_listener(
|
||||
glm::vec3 position, glm::vec3 velocity, glm::vec3 lookAt, glm::vec3 up
|
||||
) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue