2009-06-27 13 views
7

मैं अपने आवेदन का उपयोग करके खोले गए गीत के बारे में जानकारी संग्रहीत करने में सक्षम होना चाहता हूं। मैं चाहता हूं कि उपयोगकर्ता गीत को रेटिंग दे सके और जब भी उपयोगकर्ता मेरे आवेदन का उपयोग कर उस फ़ाइल को खोलता है तो यह रेटिंग लोड हो जाती है।मैं एक गीत में रेटिंग कैसे स्टोर करूं?

मुझे यह भी जानने की ज़रूरत है कि मुझे रेटिंग डेटाबेस या एक्सएमएल फ़ाइल में स्टोर करना चाहिए या नहीं।

+1

कभी भी! मैं इस प्रश्न को फिर से लिखने की सिफारिश करता हूं जैसे "मैं एक गीत में रेटिंग कैसे संग्रहीत करूं?" –

उत्तर

5

C# ID3 Library आईडी 3 टैग (v1-2.4) संपादित करने के लिए एक नेट क्लास लाइब्रेरी है। मैं रेटिंग को एमपी 3 के सीधे टिप्पणी अनुभाग में संग्रहीत करता हूं क्योंकि id3v1 में ऐसी कई स्टोरेज फीचर्स नहीं हैं जो id3v2 करता है। यदि आप प्रत्येक एमपी 3 के लिए अतिरिक्त जानकारी स्टोर करना चाहते हैं, तो एमपी 3 पर एक अद्वितीय पहचानकर्ता रखने के बारे में और फिर डेटाबेस लुकअप करने के बारे में क्या?

मैं एमपी 3 में कस्टम टैग जोड़ने के बारे में सतर्क रहूंगा क्योंकि यह एक बड़ी लाइब्रेरी को बर्बाद करने का एक आसान तरीका है। इसके अलावा, मैं इस सड़क से पहले चला गया हूं और जब मैंने प्रोग्रामिंग ज्ञान का आनंद लिया है, तो आईट्यून्स एसडीके या अंतिम एफएम जैसे कुछ कोशिश करना बेहतर मार्ग हो सकता है।

+0

धन्यवाद! मैंने पहले ही सी # आईडी 3 लीब डाउनलोड कर लिया था, लेकिन रेटिंग को सहेजने के तरीके के रूप में टिप्पणियों का उपयोग करने के बारे में नहीं सोचा था। यह मुझे एक बेहतर रेटिंग सिस्टम का उपयोग करने की अनुमति देता है, फिर केवल 1-5। –

0

मैं रेटिंग को एक XML फ़ाइल में संग्रहीत करता हूं, इस तरह से बाहर से संपादित करना आसान है, .NET में पढ़ने में आसान है और आपको अपने आवेदन के साथ कुछ आसान डेटाबेस के बारे में चिंता करने की आवश्यकता नहीं है।

कुछ इस तरह आप के लिए काम कर सकते हैं:

<Songs> 
    <Song Title="{SongTitle}"> 
    <Path>{Song path}</Path> 
    <Rating>3</Rating> 
    </Song> 
</Songs> 
+2

एक्सएमएल विशेषताओं में उपयोग = और उद्धृत किया जाना चाहिए। तत्व टैग केस सेंसिटिव हैं ("")। –

2

मैं इसे किसी फ़ाइल में संग्रहीत करेंगे के रूप में यह आसान है एमपी 3 फ़ाइल के साथ ही रहते हैं। यदि आप जो कुछ भी कर रहे हैं वह रेटिंग संग्रहीत कर रहा है, तो क्या आप इसके बजाय आईडी 3 रेटिंग फ़ील्ड सेट करने पर विचार करेंगे?

+0

क्या आप आईडी 3 रेटिंग फ़ील्ड पर कुछ और जानकारी प्रदान कर सकते हैं? (विशिष्ट रूप से सी #) –

4

मैं एक एकल फ़ाइल, शून्य-कॉन्फ़िगरेशन डेटाबेस का उपयोग करूंगा। आपके मामले में SQL Server Compact

मुझे नहीं लगता कि एक्सएमएल एक अच्छा विचार है। एक्सएमएल डेटा इंटरचेंज में चमकता है और बहुत कम मात्रा में जानकारी संग्रहीत करता है। इस मामले में उपयोगकर्ता हजारों पटरियों को रेट कर सकता है (मेरे पास व्यक्तिगत रूप से ऑनलाइन रेडियो हैं जो रेटिंग की अनुमति देते हैं), और आपके पास ट्रैक के बारे में स्टोर करने के लिए बहुत सारी जानकारी हो सकती है।

एक्सएमएल निर्यात प्रक्रियाओं का उपयोग करके निर्यात और आयात करें यदि आपको करना है। इसे अपने मुख्य डेटास्टोर के रूप में उपयोग न करें।

+2

एसक्लाइट का उपयोग करके इसे बदलने और सहेजने के लिए कैसे एक और लोकप्रिय एकल फ़ाइल, शून्य-कॉन्फ़िगरेशन डेटाबेस है। –

1

इस प्रकार के बहुत ही सरल भंडारण के लिए मुझे नहीं लगता कि यह वास्तव में इतना मायने रखता है। एक्सएमएल का समर्थक तैनाती करना और आपके ऐप के बाहर संपादन योग्य है। कॉन हैं, आपके आवेदन के बाहर इसका संपादन योग्य (अच्छा हो सकता है, खराब हो सकता है, आपकी स्थिति पर निर्भर करता है)

शायद एक और विकल्प (सिर्फ इसलिए कि आप कर सकते हैं ;-) एक ओओडीबीएमएस है, DB4Objects देखें, इसकी गंभीरता से नशे की लत और बहुत बहुत शांत।

1

जैसा कि पहले उल्लेख किया गया है, मीडिया फ़ाइल में ऐसी जानकारी को स्टोर करना बेहतर है। और मेरा सुझाव है कि इस के लिए TagLib# lib का उपयोग करें (सर्वश्रेष्ठ मीडिया मेटाडाटा lib मुझे मिल सकता है)। बहुत शक्तिशाली और उपयोग करने में आसान है।

0

यदि गीत प्रारूप उपयुक्त मेटा डेटा (उदाहरण के लिए एमपी 3) का समर्थन करता है, तो मेटा डेटा का उपयोग करने केविन के सलाह का पालन करें। यह करने का अब तक का सबसे अच्छा तरीका है, और मेटा डेटा का उद्देश्य यही है।

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

एक्सएमएल (या अधिकतर अन्य पाठ प्रारूप) का भी लाभ है कि उन्हें एक पाठ संपादक में आसानी से संपादित किया जा सकता है।

डेटाबेस में इसके फायदे होंगे यदि आपके पास अधिक बंद सिस्टम था, तो आप गति और तेज़ अनुक्रमण चाहते थे, और/या अन्य टेबल भी जिन्हें आप स्टोर करना चाहते हैं (उदाहरण के लिए एल्बम और बैंड के बारे में डेटा)।

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