What is the best way to get and set the meta data for mp3, mp4, avi files etc. with .NET?
You can use this free .NET library to read/write MP3 metadata.
I've been looking at the NTag project as well, which handles MP3/WMA/OGG. I don't know of a single library that handles audio and video files, so you might have to use a few.
@sieben, does MediaInfo have a .NET class library? From the webpage it looks like a GUI that you can access from the shell as well.
MediaInfo looks pretty nice, although it'd require interop to hit the DLL. Does it allow editing tags, too? Can't tell from their info page.
Looks like MediaInfo is read-only at this point, by the way: http://sourceforge.net/forum/message.php?msg_id=4241318&abmode=1
Very cool project, though. It's fun finding out about all this cool stuff here on SO.
These are the example class files for different languages found in the MediaInfo.dll zip
- MediaInfoDLL.cs
- MediaInfoDLL.def
- MediaInfoDLL.h
- MediaInfoDLL.java
- MediaInfoDLL.jsl
- MediaInfoDLL.pas
- MediaInfoDLL.py
- MediaInfoDLL.vb
- MediaInfoDLL_Static.h
You do have to use interop and I don't know if you can edit tags, I've never needed to do that but it's pretty much a swiss army knife at least for getting media information from files.
Link to downloads page (sourceforge)
MediaInfo0.7.7.4DLL_Win32.zip
I used COM interop to access DirectShow's Media Detector functionality.
This does work pretty well, but it's a right pain in the backside. You need to know lots about COM, win32 interop, and so on.
You can also use DirectShowNet which should handle most of that for you, I just didn't want to lug that whole thing around when I was only interested in the MediaDetector part
I've recently used Tag Lib Sharp to write some C# apps for cleaning up and maintaining my music library. I found the library very easy to use and although i've only used it for MP3's, it appears to support a range of other music/video formats.