Browse Source

update audio clip

master
zhaohe 2 years ago
parent
commit
8f51099450
  1. 9
      src/iflytop/components/audio/audio_clip.cpp
  2. 9
      src/iflytop/components/audio/audio_clip.hpp

9
src/iflytop/components/audio/audio_clip.cpp

@ -66,8 +66,7 @@ string AudioClip::toString() {
char buf[64] = {0}; char buf[64] = {0};
strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", &tm); strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", &tm);
string str = fmt::format("audio:{} c-{} r-{} f-{} {}:{}", buf, m_ch, m_rate, AudioFormatToStr(m_format),
(void *)m_voice, m_voicebufsize);
string str = fmt::format("audio:{} c-{} r-{} f-{} {}:{}", buf, m_ch, m_rate, AudioFormatToStr(m_format), (void *)m_voice, m_voicebufsize);
return str; return str;
} }
@ -84,3 +83,9 @@ void AudioClip::getOneCHVoice(vector<uint8_t> &voice, size_t ch) {
memcpy(&voice[i * oneframebytes], &m_voice[i * m_ch * oneframebytes + ch * oneframebytes], oneframebytes); memcpy(&voice[i * oneframebytes], &m_voice[i * m_ch * oneframebytes + ch * oneframebytes], oneframebytes);
} }
} }
shared_ptr<AudioClip> AudioClip::getOneCHVoice(size_t ch) {
vector<uint8_t> voice;
getOneCHVoice(voice, ch);
return make_shared<AudioClip>(voice.data(), voice.size(), 1, m_rate, m_format);
}

9
src/iflytop/components/audio/audio_clip.hpp

@ -14,8 +14,8 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include "iflytop/core/core.hpp"
#include "audio_format.hpp" #include "audio_format.hpp"
#include "iflytop/core/core.hpp"
/** /**
* @brief * @brief
@ -39,8 +39,8 @@ class AudioClip : public enable_shared_from_this<AudioClip> {
size_t m_audio_duration_ms = 0; // 音频时长 size_t m_audio_duration_ms = 0; // 音频时长
uint32_t m_number_of_samples = 0; // 采样点数 uint32_t m_number_of_samples = 0; // 采样点数
tp_sys m_human_readable_tp = {}; // 人类可读的时间戳,可能由于时间服务器的原因,会发生突变
tp_steady m_tp = {}; // 系统时间戳
tp_sys m_human_readable_tp = {}; // 人类可读的时间戳,可能由于时间服务器的原因,会发生突变
tp_steady m_tp = {}; // 系统时间戳
mutex m_mutex; mutex m_mutex;
map<string, Any> m_context; map<string, Any> m_context;
@ -58,7 +58,8 @@ class AudioClip : public enable_shared_from_this<AudioClip> {
tp_steady getTp(); tp_steady getTp();
uint32_t getBitsPerSample(); uint32_t getBitsPerSample();
void getOneCHVoice(vector<uint8_t> &voice, size_t ch);
void getOneCHVoice(vector<uint8_t> &voice, size_t ch);
shared_ptr<AudioClip> getOneCHVoice(size_t ch);
uint8_t *data(); uint8_t *data();
size_t size(); size_t size();

Loading…
Cancel
Save