音楽プレーヤーの作り方の質問です

タグの編集
投稿者 京都人  (高校生) 投稿日時 2010/8/11 18:08:50
VBで軽い音楽プレーヤーを作ろうと思いまして、今作っています。
そこで2つの疑問点が浮かびました。皆さんのお力を借りたいです。
一つ目はCDのインポートの仕方です。mp3などに変換してパソコンに取り込みたいです。その方法を教えてください。
もうひとつは1つ目に関連してCDを入れた際に自動的に曲名とかアーティストを打ってくれますよね。その情報の元のCDDBまでは分かりましたけれども、CDDBをどうやって接続できるかを分かりませんので、詳しく教えてください。
2つともVBのコードでできるのですか。ぜひ教えてください。
投稿者 るきお  (社会人) 投稿日時 2010/8/13 13:05:27
Windows Media Playerの機能を呼び出すことでなんとかすることはできるみたいです。
この場合、多分、Windows Media Playerがインストールされていることが前提となり、いくつかの設定項目はWindows Media Playerと連動することになります。

以下の例を試すには、[プロジェクト] - [参照の追加]で、[COM]のWindows Media Playerへの参照設定を追加してください。


インポート方法(CDのリッピング)
    
Dim wmp As New WMPLib.WindowsMediaPlayer

Dim cdDrives As WMPLib.IWMPCdromCollection = wmp.cdromCollection
Dim CDRom As WMPLib.IWMPCdrom = cdDrives.getByDriveSpecifier("E")
       
CDRom.Playlist.Item(0).setItemInfo("SelectedForRip""True")

Dim ripper As WMPLib.IWMPCdromRip = CDRom
ripper.startRip()

これでとりあえずできるみたいですが私も理屈がよくわかりません。
元ネタ:http://www.codeproject.com/Messages/2178651/Re-Rip-CD.aspx

CDDBの接続方法…というか、Media Player経由で曲名等取得する方法
    
Dim wmp As New WMPLib.WindowsMediaPlayer

Dim cdDrives As WMPLib.IWMPCdromCollection = wmp.cdromCollection
Dim CDRom As WMPLib.IWMPCdrom = cdDrives.getByDriveSpecifier("E")

Dim cdTitle As String
cdTitle = CDRom.Playlist.name
Debug.WriteLine("CDのタイトル:" & cdTitle)

Dim songTitle As String
songTitle = CDRom.Playlist.Item(0).name
Debug.WriteLine("1曲目のタイトル:" & songTitle)
投稿者 京都人  (高校生) 投稿日時 2010/8/13 16:25:21
ありがとうございます。メディアプレーヤーと連動させればいいんですね。やってみます。がんばって作ってみます
投稿者 YuO  (社会人) 投稿日時 2010/8/13 17:19:08
参考資料として。

MSDN: About CD Ripping (Windows)
http://msdn.microsoft.com/en-us/library/dd562213.aspx

いつの間にか,Windows Media Player SDKの情報もWindows SDKの一部として載るようになっていたんですね。