41 std::lock_guard
lk(mutex_);
43 sampleFormat_ = sampleFormat;
47 telephoneTone_->setSampleRate(
rate, sampleFormat);
51 auto path = audioFile_->getFilePath();
53 audioFile_.reset(
new AudioFile(path, sampleRate_, sampleFormat));
59std::shared_ptr<AudioLoop>
62 std::lock_guard
lk(mutex_);
64 return telephoneTone_->getCurrentTone();
68std::shared_ptr<AudioLoop>
71 std::lock_guard
lk(mutex_);
78 std::lock_guard
lk(mutex_);
86 audioFile_.reset(
new AudioFile(
file, sampleRate_, sampleFormat_));
91 return static_cast<bool>(audioFile_);
97 std::lock_guard
lk(mutex_);
108 std::lock_guard
lk(mutex_);
122 std::lock_guard
lk(mutex_);
125 telephoneTone_->setCurrentTone(
toneId);
131 std::lock_guard
lk(mutex_);
134 audioFile_->seek(
value);
Abstract interface for file readers.
std::string getZoneToneChoice() const
std::shared_ptr< AudioLoop > getTelephoneTone()
void setSampleRate(unsigned rate, AVSampleFormat sampleFormat)
bool setAudioFile(const std::string &file)
void play(Tone::ToneId toneId)
std::shared_ptr< AudioLoop > getTelephoneFile(void)
ToneId
The different kind of tones.
void emitSignal(Args... args)
static constexpr unsigned DEFAULT_SAMPLE_RATE