Class: ActiveStorage::Analyzer::AudioAnalyzer
- Inherits:
-
ActiveStorage::Analyzer
- Object
- ActiveStorage::Analyzer
- ActiveStorage::Analyzer::AudioAnalyzer
- Defined in:
- lib/active_storage/analyzer/audio_analyzer.rb
Overview
Active Storage Audio Analyzer
Extracts duration (seconds), bit_rate (bits/s), sample_rate (hertz) and tags (internal metadata) from an audio blob.
Example:
ActiveStorage::Analyzer::AudioAnalyzer.new(blob).
# => { duration: 5.0, bit_rate: 320340, sample_rate: 44100, tags: { encoder: "Lavc57.64", ... } }
This analyzer requires the FFmpeg system library, which is not provided by Rails.
Instance Attribute Summary
Attributes inherited from ActiveStorage::Analyzer
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from ActiveStorage::Analyzer
Constructor Details
This class inherits a constructor from ActiveStorage::Analyzer
Class Method Details
.accept?(blob) ⇒ Boolean
15 16 17 |
# File 'lib/active_storage/analyzer/audio_analyzer.rb', line 15 def self.accept?(blob) blob.audio? end |
Instance Method Details
#metadata ⇒ Object
19 20 21 |
# File 'lib/active_storage/analyzer/audio_analyzer.rb', line 19 def { duration: duration, bit_rate: bit_rate, sample_rate: sample_rate, tags: }.compact end |