From 4746178a62d313de7a3ca507851d6307beee1f0e Mon Sep 17 00:00:00 2001 From: Nanako <469449812@qq.com> Date: Fri, 22 Mar 2024 15:59:17 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=B0=E5=9C=A8RtAudio=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E8=BE=93=E5=87=BA=E8=AE=BE=E5=A4=87,=20?= =?UTF-8?q?=E5=B9=B6=E6=96=B0=E5=A2=9E=E6=89=93=E5=8D=B0=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E6=89=80=E6=9C=89=E8=AE=BE=E5=A4=87=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/audio/device/audio_device_manager.cpp | 12 ++++++++++++ core/audio/device/audio_device_manager.h | 1 + 2 files changed, 13 insertions(+) diff --git a/core/audio/device/audio_device_manager.cpp b/core/audio/device/audio_device_manager.cpp index 9703404..13beb34 100644 --- a/core/audio/device/audio_device_manager.cpp +++ b/core/audio/device/audio_device_manager.cpp @@ -20,6 +20,10 @@ void audio_device_manager::init(singleton_initliazer& initliazer) { singleton_t::init(initliazer); options_.flags = RTAUDIO_NONINTERLEAVED; audio_ = new RtAudio(); + log_all_devices(); + output_params_.deviceId = audio_->getDefaultOutputDevice(); + output_params_.nChannels = get_output_channel_count(); + spdlog::info("using output device id: {}", output_params_.deviceId); } void audio_device_manager::release(singleton_release_guard& release_guard) { @@ -70,6 +74,14 @@ int audio_device_manager::stream_callback(float** output, float** input, unsigne return 0; } +void audio_device_manager::log_all_devices() { + const auto& device_count = audio_->getDeviceIds(); + for (const auto& device_id: device_count) { + const auto& device_info = audio_->getDeviceInfo(device_id); + spdlog::info("find device id: {}, name: {}", device_id, device_info.name); + } +} + void audio_device_manager::start_render_thread() { render_thread_ = std::thread(&audio_device_manager::render_thread, this); render_thread_.detach(); diff --git a/core/audio/device/audio_device_manager.h b/core/audio/device/audio_device_manager.h index fd3a92d..f845f07 100644 --- a/core/audio/device/audio_device_manager.h +++ b/core/audio/device/audio_device_manager.h @@ -21,6 +21,7 @@ public: CORE_API uint32_t get_output_channel_count() const; int stream_callback(float** output, float** input, unsigned long frame_count, double stream_time, RtAudioStreamStatus status); + void log_all_devices(); protected: #pragma region render_thread void start_render_thread();