跳至內容 跳至搜尋

Active Storage 音訊分析器

從音訊 blob 中提取持續時間(秒)、位元率(位元/秒)、取樣率(赫茲)和標籤(內部元資料)。

範例

ActiveStorage::Analyzer::AudioAnalyzer.new(blob).metadata
# => { duration: 5.0, bit_rate: 320340, sample_rate: 44100, tags: { encoder: "Lavc57.64", ... } }

這個分析器需要 FFmpeg 系統函式庫,它並非 Rails 提供的。

方法
A
M

類別公開方法

accept?(blob)

# File activestorage/lib/active_storage/analyzer/audio_analyzer.rb, line 15
def self.accept?(blob)
  blob.audio?
end

執行個體公開方法

metadata()

# File activestorage/lib/active_storage/analyzer/audio_analyzer.rb, line 19
def metadata
  { duration: duration, bit_rate: bit_rate, sample_rate: sample_rate, tags: tags }.compact
end