Viam C++ SDK current
Loading...
Searching...
No Matches
audio.hpp
1#pragma once
2
3#include <cstddef>
4#include <cstdint>
5#include <string>
6#include <vector>
7
8namespace viam {
9namespace sdk {
10
12namespace audio_codecs {
13constexpr const char* PCM_16 = "pcm16";
14constexpr const char* PCM_32 = "pcm32";
15constexpr const char* PCM_32_FLOAT = "pcm32_float";
16constexpr const char* MP3 = "mp3";
17constexpr const char* AAC = "aac";
18constexpr const char* OPUS = "opus";
19constexpr const char* FLAC = "flac";
20} // namespace audio_codecs
21
25 std::vector<std::string> supported_codecs;
26 int sample_rate_hz;
27 int num_channels;
28};
29
32struct audio_info {
33 std::string codec;
34 int sample_rate_hz;
35 int num_channels;
36};
37
39bool operator==(const audio_properties& lhs, const audio_properties& rhs);
40
42bool operator==(const audio_info& lhs, const audio_info& rhs);
43
44uint16_t get_bits_per_sample(const std::string& codec);
45
46void write_wav_file(const std::string& filename,
47 const std::vector<uint8_t>& audio_data,
48 const std::string& codec,
49 uint32_t sample_rate_hz,
50 uint16_t num_channels);
51
52} // namespace sdk
53} // namespace viam
Information about a piece of audio data.
Definition audio.hpp:32
Properties of an audio component (input or output)
Definition audio.hpp:24