2009-06-27 29 views
7

私のアプリケーションを使って開いた曲の情報を保存したいと考えています。ユーザーが曲に評価を付けることができるようにしたいと思います。この評価は、ユーザーがアプリケーションを使用してそのファイルを開くたびに読み込まれます。レーティングをソングに保存するにはどうすればよいですか?

また、評価をデータベースまたはXMLファイルに保存する必要があるかどうかを知る必要があります。

+1

いつでも!私はこの質問を「どのようにレーティングを曲に保存するのですか? –

答えて

5

C# ID3 Libraryはid3タグ(v1-2.4)を編集するための.Netクラスライブラリです。 id3v1にはid3v2が持つ記憶機能の多くがないため、mp3のコメントセクションに直接格付けを格納します。 mp3ごとに追加情報を保存したい場合は、mp3に一意の識別子を配置してデータベース検索を行うのはどうでしょうか?

大きなライブラリを簡単に破棄するため、カスタムタグをmp3に追加することには慎重を期しています。また、私はこれまでにこの道を歩み、プログラミングの知識を楽しんでいる間に、iTunes SDKやLast FMのようなものを試してみるとよいでしょう。

+0

ありがとう!私は既にC#ID3 Libをダウンロードしていましたが、評価を保存する方法としてコメントを使用することは考えていませんでした。これはまた、私はより良い評価システムを使用して、わずか1から5を使用することができます。 –

0

評価をXMLファイルに保存すると、外部から編集しやすく、.NETで読みやすくなり、アプリケーションを使用して簡単にデータベースを出荷することを心配する必要はありません。 mp3ファイル自体を維持することが容易であるように私は、ファイルに保存します

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

XML属性では、=を使用し、引用符で囲む必要があります。要素タグは大文字と小文字が区別されます( "")。 –

2

:このあなたのために働くかもしれないような

何か。レーティングを格納するだけであれば、代わりにID3レーティングフィールドを設定することを検討しますか?

+0

あなたはID3の評価フィールドについていくつかの情報を提供できますか? (具体的には、C#を使用してそれを変更して保存する方法) –

4

私は単一ファイルのゼロ設定データベースを使用します。あなたの場合はSQL Server Compactです。

XMLは良い考えではないと思います。 XMLはインターチェンジに非常に少量の情報を格納しています。この場合、ユーザーは何千もの曲を評価することができます(私は個人的に評価を可能にするオンラインラジオを持っています)、トラックに関するその他の情報がたくさんあるかもしれません。

XMLエクスポート手順を使用してエクスポートおよびインポートする必要がある場合。これをメインデータストアとして使用しないでください。

+2

Sqliteは、一般的なシングルファイルのゼロ設定データベースです。 –

1

このタイプの非常にシンプルなストレージでは、それほど重要ではないと思います。 XMLのプロは非常に使いやすく、編集可能なアプリの外にあります。

多分、別のオプション(あなたが;-)できるのは、OODBMSであるから、その真剣に中毒性があります。非常に、非常にクールです。

1

前述したように、このような情報はメディアファイル自体に保存する方が良いです。そして私の提案はTagLib# lib(私が見つけることができる最高のメディアメタデータのlib)を使用することです。非常に強力で使いやすい。

0

曲の形式が適切なメタデータ(MP3など)をサポートしている場合は、そのメタデータを使用するというKevinのアドバイスに従ってください。これはこれを実行する最良の方法であり、メタデータが意図するものです。

もしそうでなければ、あなたのアプリケーションに本当に依存します。評価情報を、特にWebサービスで共有する場合は、XMLに移行します。たとえば、XMLフィードを大きなフィードとして提供するのは簡単ではありません。

XML(またはほとんどの他のテキスト形式)には、人間がテキストエディタで簡単に編集できるという利点もあります。

システムが閉鎖されていて、高速で高速なインデックスを作成したい場合や、保存したいと思うテーブル(アルバムやバンドに関するデータなど)がある場合は、データベースに利点があります。

関連する問題