|
分類:[.NET 全般]
はじめまして。
開発環境はWindows XP SP2、Visual C#です。
CDのリッピング作業を自動化したいと思い、WindowsMediaPlayer SDKを使用してリッピングを行うプログラムを書いたのですが動きません。
Windows SDKはインストールしてありますし、参照の追加からWMPLibを追加しました。
リッピングを行う部分は下のようになっています。
Daemon ToolsでCDイメージをマウント
↓
WMPでリッピング
↓
CDイメージをアンマウント
というような流れです。(実際はこれを繰り返します)
-----------------------------------------------------------------------------
Console.WriteLine("マウント中...");
process = new Process();
process.StartInfo.Arguments = "-mount 0, \"" + Path.GetDirectoryName(fileList[i]) + "\\" +
Path.GetFileNameWithoutExtension(fileList[i]) + ".cue" + "\"";
process.StartInfo.FileName = @"C:\Program Files\DAEMON Tools\daemon.exe";
process.Start();
Thread.Sleep(5000);
WMPLib.WindowsMediaPlayer windowsMediaPlayer = new WMPLib.WindowsMediaPlayer();
WMPLib.IWMPCdromCollection cdroms = windowsMediaPlayer.cdromCollection;
WMPLib.IWMPCdrom cdrom = cdroms.getByDriveSpecifier(driveLetter);
WMPLib.IWMPCdromRip rip = (WMPLib.IWMPCdromRip)cdrom;
//アルバム名の表示
Console.WriteLine(cdrom.Playlist.name);
Console.WriteLine("リッピング開始...");
rip.startRip();
Thread.Sleep(5000);
Console.WriteLine("{0}%", rip.ripProgress);
while (rip.ripState == WMPLib.WMPRipState.wmprsRipping)
{
Console.WriteLine("{0}%", rip.ripProgress);
Thread.Sleep(1000);
}
process = new Process();
process.StartInfo.Arguments = "-unmount 0";
process.StartInfo.FileName = @"C:\Program Files\DAEMON Tools\daemon.exe";
process.Start();
Console.WriteLine("終了");
-----------------------------------------------------------------------------
マウント/アンマウントもできており、アルバム名も正しく表示されるのですが、リッピングだけできません。
いろいろ調べたのですが、情報が少なくて困っています。
ちょっとしたヒントでも良いので、教えていただけると助かります。
よろしくお願いします。
|