2011-02-10 8 views
6

私は音楽アルバムライブラリをやっています。プログラムはFreeDBのようなデータベースに接続し、それを保存する必要があります。C#を使用してオーディオCDからデータをインポートするには?

現時点では単なる概念であり、可能かどうかを知りたいと思っています。実際の質問は、Windows Media Playerでディスクを再生したときのように、CDからデータを取得する方法はありますか?私は少し再演奏を行い、ID3とmp3について見つけましたが、トラックが.cdaなので、それがどんなリードになるとは思わないのです。

私はプログラミング(卒業証書)を勉強しています。 提案がありますか?

+0

ウィンドウMedia Playerがこれを行うことができます:CDにポップし、それがアルバム情報(CD名、アーティストを盗んしようと、トラック名、等...)。 *どのようにCDAファイルを使用しているのか分かりません。 – FrustratedWithFormsDesigner

+0

cdaファイルに実際に音楽が含まれていません。それらは記述子ファイルのみです。オーディオデータ自体は通常、ステレオで44100サンプルの非圧縮16ビットPCMです。しかし、私は読書のためのオーディオCDトラックを開く方法を知らない。 – CodesInChaos

+0

私はcdaについて読んでいて、オーディオそのものを含んでいません...知っておもしろいです。 – gorgo4

答えて

0

すべてのコードを最初から書きたい場合は、Red Bookについて学ぶ必要があります。それ以外の場合は、メディアプレーヤーなどのものを自動化するだけです。

+0

オートメーションとメディアプレーヤーについてどういう意味か分かりませんが、私は赤い本について読んでいます!ありがとう。 – gorgo4

+0

私がオートメーションについて知っているのは、他のアプリを制御またはスクリプト化するためのAPIとAPIです。 –

0

以下は、不完全な記述の私の漠然とした思い出に基づいており、Windows 98時代のこの機能の背後にあるチームが提供しています。実装の詳細は機密事項であり、細部には関知していませんでした。この機能を初めて試してから、13年後には事態がかなり変わった可能性があります。

CDからのバイナリデータの代表サンプルが読み込まれ、何らかの種類のCRCのようなチェックサムまたはハッシュに変換されました。チェックサムは、これらのチェックサムとアルバム情報との一致するデータベースを含むWebサービスに送信されました。

可能であれば、正確なディスクが一致しました。明らかに、私自身のコレクションにはちょうど十分な矛盾があり、時にはアルバムのリストが提示されていました。

マイクロソフトはこのデータベースを構築するのにかなりの金を費やしました。このデータには、少なくとも1社のサードパーティ企業とのパートナーシップが含まれていました。あなたはおそらく、概念証明をかなり簡単に作成できますが、完全なデータベースを自分で構築することはできません。しかし、FreeDbのようなものを使って独自のカスタムサービスを構築できるかもしれません。

同様のアプローチの例は、ここでは控えめに詳細に説明されていますhttp://en.wikipedia.org/wiki/CDDB

それは、新しいCDは個別の識別子のいくつかの並べ替えを含めることは可能だが、私は、現在のCDの業界標準に精通していないです。

4

私はあなたを助けるべきであるサンプルコードとチュートリアルが見つかりました:http://www.codeproject.com/KB/audio-video/freedb.aspx

+0

FTA:デモアプリケーションには2つのクラスライブラリが含まれています。 Freedb - freedbサーバーからCDデータベース情報を取得するためのクラス。これは私がこの記事のために作成した図書館です。 リッパー - これはCシャープリッパーライブラリの修正版です。このライブラリは、CDドライブにアクセスし、低レベルのオーディオCD情報を取得するために使用されます。 ...CDDriveクラスを変更して、freedbの仕様に基づいてディスクIDとトラックオフセットを計算する方法をいくつか含めました。この情報は、freedbデータベースを照会するために使用されます。 –

+0

ありがとうございます。私はすでにそれを見ていて、これまでのところ最も近い....私は深い読みを与えるだろう! – gorgo4

関連する問題