24std::vector<std::vector<float>>
27 std::vector<std::vector<float>> duplicate;
28 for (
auto i = 0u; i < numChannels; ++i)
29 duplicate.push_back(
audio);
43 std::vector<BlockSampleView> blockViews {
48 std::move(blockViews), start.
as_size_t(), len);
double GetPlayDuration() const
int GetRate() const override
FloatVectorClip(int sampleRate, const std::vector< std::vector< float > > &audio)
const std::vector< std::vector< float > > mAudio
AudioSegmentSampleView GetSampleView(size_t iChannel, sampleCount start, size_t len, bool mayThrow) const override
sampleCount GetVisibleSampleCount() const override
size_t NChannels() const override
sampleCount TimeToSamples(double time) const override
Positions or offsets within audio files need a wide type.
constexpr auto sampleRate
std::vector< std::vector< float > > Duplicate(const std::vector< float > &audio, size_t numChannels)