2009-07-07 13 views
2

私は、ユーザーが選択したmp3ファイルを実行するサンプルを作成しています。 I ファイルの再生時間を計算します(たとえば、00:05:32)。再生時間はどのように計算できますか?.mp3ファイルの再生時間を計算する

+0

以下のコードは[こちら](http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=79) –

答えて

3

あなたはそれはあなたがC#でこれをやっているタグに示唆TagLib.AudioProperties.Duration

2

を公開TagLib Sharp

を使用することができます。それにこの質問は、お得な情報:

Finding MP3 length in C#

そして、ここで(長さなど)MP3ヘッダを読み、関連する情報を抽出するためのいくつかのコードがあります:

http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=79

+2

を助けるかもしれない顔をしている参照しますデビッドへのアプローチは、ファイルの長さを使用して期間を計算するため、間違っています。例えばmp3ファイルにアルバムアートを追加すると、ファイルの長さが増えるが、その期間には影響しないので、これは間違っている。この方法はこの時点では失敗し、私はそれをお勧めしません。 – aslisabanci

0

私はのWindows Media APIを信じます(またはWindowsミキサーのAPIや何か、私は正確な名前を思い出すことができません)を開いてmp3のようなサウンドファイルを読んで、多分それから時間を得る方法があります。追加のボーナスとして、そのAPIを使用することで、Windows Media Playerなどで動作する任意のオーディオ形式を開くことができるので、MP3だけに限定されません。 Alvas.Audioライブラリの

3

using (Mp3Reader mr = new Mp3Reader(File.OpenRead("len.mp3"))) 
    { 
     int durationMS = mr.GetDurationInMS(); 
     TimeSpan durationTS = TimeSpan.FromMilliseconds(durationMS); 
    }