2009-06-09 16 views
7

वर्तमान में मैं एक संगीत प्रोजेक्ट पर काम कर रहा हूं, उपयोगकर्ता एमपी 3 अपलोड से निपट रहा हूं। समस्या यह है कि मुझे एक id3 लाइब्रेरी नहीं मिल रही है जो सभी फ़ाइलों के लिए सही तरीके से काम करेगी। मैंने id3-ruby और Mp3Info libs की कोशिश की है लेकिन उनमें से कोई भी मुझे लगातार सही परिणाम नहीं देता है। उदाहरण के लिए, सबसे आम समस्या है:रूबी एमपी 3 आईडी 3 पार्सिंग

  • गलत धारा मानकों (बिटरेट और नमूना दर, कभी कभी अवधि)
  • विस्तारित टैग

का समर्थन नहीं करता मैं एक रूप है, जहाँ उपयोगकर्ताओं को जोड़ने का निर्णय लिया कलाकार और शीर्षक जैसी वैकल्पिक जानकारी प्रदान कर सकते हैं; जिसने थोड़ा सा मदद की, लेकिन समस्या को पूरी तरह से हल नहीं किया।

रूबी के लिए सबसे अधिक उपयोग योग्य और शक्तिशाली आईडी 3 लाइब्रेरी क्या है?

+0

क्या आप टैग की एक सूची पोस्ट कर सकते हैं जिसे आपको समर्थित करने की आवश्यकता है? धन्यवाद। – Tilo

उत्तर

5

http://www.hakubi.us/ruby-taglib/

मैं एक परियोजना के लिए इस का इस्तेमाल किया और यह बहुत अच्छी तरह से काम किया। टैगलिब के चारों ओर लपेटें, जो बहुत पोर्टेबल है।

+0

धन्यवाद, मैं इसे आजमाउंगा। क्या इसमें कोई समस्या है? –

+0

मैंने इसे अपनी पूरी एमपी 3 लाइब्रेरी के खिलाफ इस्तेमाल किया और इसमें कोई समस्या नहीं थी। हालांकि मैंने बिटरेट/नमूना दर के साथ कुछ भी नहीं किया, इसलिए मैं उससे बात नहीं कर सकता। –

0

http://id3lib-ruby.rubyforge.org/

मैं विशेष रूप से इस एक पसंद आया, तो आप भी फाइल करने के लिए टैग लिख सकते हैं।

+0

हां, लेकिन कभी-कभी यह lib सही काम नहीं करता है, इसलिए मैंने कुछ बेहतर –

+0

पर स्विच करने का फैसला किया जैसे ऐसा लगता है कि यह utf-8 का समर्थन नहीं करता है। अन्यथा यह साफ है। – rpattabi

+2

यह अब बनाए रखा id3lib पर आधारित है। एक ही लेखक (मुझे) द्वारा अद्यतित पुस्तकालय के लिए, [टैगलिब-रूबी] (https://github.com/robinst/taglib-ruby) आज़माएं। – robinst

4

मैं इस का उपयोग किया है:

http://ruby-mp3info.rubyforge.org/

या

gem install ruby-mp3info (मैक या * nix के लिए विनियमन sudo जोड़ें)

कुछ rdoc प्रलेखन, जो अच्छा है नहीं है। नकारात्मक पक्ष में, मुझे ऊपरी-केस फ़ील्ड नामों के उपयोग की तरह बहुत पसंद नहीं है, जो कि spec के नामों को संरक्षित रखने के लिए बहुत चिंतित है। शायद मुझे कुछ उपनामों में हैक करना चाहिए। वैसे भी, यह नमूना स्क्रिप्ट मेरी संगीत लाइब्रेरी स्कैन करती है और शीर्षकों में शब्दों की गणना करती है:

require 'mp3info' 

count = 0 
words = Hash.new { |h, k| h[k] = 0 } 
Dir.glob("E:/MUSIC/**/*.mp3") do |f| 
    count += 1 
    Mp3Info.open(f) do |mp3info| 
    title = mp3info.tag2.TIT2 
    next unless title 
    title.split(/\s/).each { |w| words[w.downcase] += 1 } 
    end 
end 
puts "Examined #{count} files" 
words.to_a.sort{ |a, b| b[1] <=> a[1] }[0,100].each { |w| puts "#{w[0]}: #{w[1]}" } 
+0

सुझाव के लिए धन्यवाद। लेकिन इंटरफेस इतना मुश्किल लग रहा है। मुझे कुछ चाहिए जैसे id3lib-ruby देता है। जैसे टैग = आईडी 3 लाइब :: टैग.न्यू ('test.mp3') टैग.title #test_title टैग.title = 'new_title' tag.udpate! # test.mp3 का शीर्षक new_title के साथ अपडेट किया गया है – rpattabi

संबंधित मुद्दे