使用.NET访问音频/视频元数据

问题描述 投票:0回答:8

使用 .NET 获取和设置 mp3、mp4、avi 文件等元数据的最佳方法是什么?

.net video audio mp3
8个回答
6
投票

我在我的 C# 应用程序中使用 MediaInfo,为您提供了大量有关媒体文件的信息。


4
投票

这些是在 MediaInfo.dll zip 中找到的不同语言的示例类文件

  • MediaInfoDLL.cs
  • MediaInfoDLL.def
  • MediaInfoDLL.h
  • MediaInfoDLL.java
  • MediaInfoDLL.jsl
  • MediaInfoDLL.pas
  • MediaInfoDLL.py
  • MediaInfoDLL.vb
  • MediaInfoDLL_Static.h

你确实必须使用互操作,我不知道你是否可以编辑标签,我从来没有需要这样做,但它几乎是一把瑞士军刀,至少从文件中获取媒体信息。

下载页面链接(sourceforge)

MediaInfo_0.7.7.4_DLL_Win32.zip


3
投票

您可以使用免费的 UltraID3Lib .NET 库来读取/写入 MP3 元数据。


3
投票

我最近使用 Tag Lib Sharp 编写了一些 C# 应用程序来清理和维护我的音乐库。我发现该库非常易于使用,虽然我只将其用于 MP3,但它似乎支持一系列其他音乐/视频格式。


3
投票

我也一直在关注 NTag 项目,它处理 MP3/WMA/OGG。我不知道有哪个库可以处理音频和视频文件,所以您可能必须使用一些。


1
投票

顺便说一句,此时 MediaInfo 似乎是只读的:http://sourceforge.net/forum/message.php?msg_id=4241318&abmode=1

不过,这是一个非常酷的项目。在 SO 上发现所有这些很酷的东西很有趣。


1
投票

我使用 COM 互操作来访问 DirectShow 的媒体检测器功能。

这确实很有效,但确实让人感到后背疼痛。您需要了解很多有关 COM、win32 互操作等的知识。

您还可以使用 DirectShowNet ,它应该可以为您处理大部分内容,当我只对 MediaDetector 部分感兴趣时,我只是不想拖着整件事


0
投票

在与 NAudio(请注意,它只能在 Windows 上运行)甚至 TagLibSharp 进行斗争之后,我发现了ATL .NET。我喜欢它的原因是它可以在 Stream 上运行并且还可以检测格式。

  1. 安装
    z440.atl.core
    Nuget包
dotnet add package z440.atl.core
  1. 获取
    Track
    对象并获取尽可能多的信息:
var track = new Track(stream);

Console.WriteLine(track.Duration);
// More info
© www.soinside.com 2019 - 2024. All rights reserved.