954,529 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Getting Audio File Length in C#

Hi All

I am looking to be able to get the length of any audio file in seconds. Formats are WAV, MP3 and DSS. Is there anything like this...

int seconds = myFile.AudioLength();


Any help would be appreciated

Mike

mkamioner
Newbie Poster
1 post since Jul 2006
Reputation Points: 10
Solved Threads: 0
 

Hey hi !

I'm trying to do the same thing to try to see the lenght of an audio file. Did you ever knew how to do it. All I know is how to get the bytes size of the file but don't know how to get the time thanks.

Jose

Hi All

I am looking to be able to get the length of any audio file in seconds. Formats are WAV, MP3 and DSS. Is there anything like this...

int seconds = myFile.AudioLength();

Any help would be appreciated

Mike

jose.rtl
Newbie Poster
1 post since Jul 2007
Reputation Points: 10
Solved Threads: 0
 

please help to find duration of audio file which is in .dss format. I am able to find duration of .mp3 format file but not able to find .dss file's duration. For Mp3 format m using wmp.dll, but this is not able to find .dss file duration.

pls help me ..... its urgent

sanjay092
Newbie Poster
6 posts since Mar 2009
Reputation Points: 10
Solved Threads: 0
 

well, I don't remember the exact details, but maybe you can use windows properties for this?
I know there is a way to access the properties of a file under windows. If you were to access the time detail form the soundfile... that might work. Not sure if it would help for .dss files since I'm not sure windows will know what to do with those.

Hope this helps at least a little.

ctrl-alt-del
Junior Poster in Training
66 posts since Jul 2008
Reputation Points: 10
Solved Threads: 0
 

thanks ctrl+alt+del for help,
please help me to explore your idea(if possible pls provide an example).

i am using wmp.dll for duration of voice file. this dll has property(durationstring). but it is useful for only .mp3 file. i need .dss file duration. if posibble pls help me.

sanjay092
Newbie Poster
6 posts since Mar 2009
Reputation Points: 10
Solved Threads: 0
 

I saw on this calculation on the web, but I don't have a .dss file to test it with...

public static long GetDSSDuration(string fileName)
        {
            FileInfo fi = new FileInfo(fileName);
            long size = fi.Length;

            long length = (long)(((size * 1.1869) - ((size / 1054) * 210)) / 1054);

            if (length > 1000)
            {
                length = (long)(length * (0.61 + ((length / 100) * 0.0005)));
            }
            else
            {
                length = (long)(length * (0.61 + ((length / 100) * 0.0015)));
            }

            return length;
        }
DdoubleD
Posting Shark
996 posts since Jul 2009
Reputation Points: 341
Solved Threads: 233
 

hello doubleD, really thanks for ur code, i all most reached to result but not accurate. its showing length in second, when m converting into minutes (divide by 60) its not showing accurate time. me trying to understand these formula. if there is any others solution pls help me.

thanks again

sanjay092
Newbie Poster
6 posts since Mar 2009
Reputation Points: 10
Solved Threads: 0
 

Assuming that the formula outputs time in seconds, all you would have to do is put "length = length / 60;" just before "return length" and that should work fine. (his/her solution is far better then mine since it actually calculates the value for the audiofile, I don't think windows recognizes .dss files, so it won't have any detailed info on it either)

ctrl-alt-del
Junior Poster in Training
66 posts since Jul 2008
Reputation Points: 10
Solved Threads: 0
 

thanks ctrl_alt+del, i did same as u telling. its all most correct, but it not showing accurate duration of .dss file. difference is in 10 to 30 second.

sanjay092
Newbie Poster
6 posts since Mar 2009
Reputation Points: 10
Solved Threads: 0
 

How many seconds duration is the dss file(s) that is off by 10 - 30 seconds? Also, do you have many dss files of varying durations? If you do, and the calculation varies proportionately to an increase in duration, you could adjust the calculation to accommodate a better approximation.

EDIT: Also, be sure you are not truncating/rounding the time when calculating minutes in the divide by 60 division...

DdoubleD
Posting Shark
996 posts since Jul 2009
Reputation Points: 341
Solved Threads: 233
 

Hello Every Body
I am back, this time I am facing same problem. according to the formula given by DdoubleD i resolve DSS audio file duration problem, but this time some dss file is more compressed and duration of these file different according to size of file.
IS there is any technique in .net 2005 so that i can include any third party's player and find duration and other thing

I tried to include DLL of these player but not compatible with .net.
.DSS file is basically dictation by doctor(olympus recorder is use to record dictation and it save these file in .dss format)

I allready included WMP.dll for MP3. But .dss is creating problem.

Any idea or technique will be appreciable.

thanks

sanjay092
Newbie Poster
6 posts since Mar 2009
Reputation Points: 10
Solved Threads: 0
 

sayjay092, I don't know if you noticed, but you have been asking questions to a thread going back to 2006? I didn't realize this when I first responded to a more recent question, or I would have said then what I say here...

Please create your own thread (new post/thread) with your question as this is the appropriate use of the forum and it is not appropriate to ask/piggyback questions in someone else's thread.

Cheers!

DdoubleD
Posting Shark
996 posts since Jul 2009
Reputation Points: 341
Solved Threads: 233
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You