问题标签 [taglib-sharp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
534 浏览

c# - TAGLIB - mscorlib.dll 中出现“System.StackOverflowException”类型的未处理异常

我有一个小型控制台应用程序,它浏览一组文件夹并尝试设置 ID3Tag 属性。

ScrPathn Album 和 Artist 是字符串常量。

在保存步骤中,我得到:

System.StackOverflowException 未处理 消息:在 mscorlib.dll 中发生“System.StackOverflowException”类型的未处理异常

我正在使用通过 NuGet 安装的 TagLig 的最新版本。有什么建议吗?

编辑。VS没有提供额外的信息。

更改了代码以拆分读取和写入流。

同样的错误并创建了一个空的新文件。

0 投票
1 回答
696 浏览

c# - 可以使用 TagLib# 将封面艺术存储在 Vorbis 评论标签的 METADATA_BLOCK_PICTURE 字段中吗?

是否可以使用 TagLib# 将封面艺术存储在 Ogg Vorbis 文件的 Vorbis 注释标签的 METADATA_BLOCK_PICTURE 字段中?

0 投票
1 回答
3973 浏览

c# - 将位图设置为 MP3 的封面

我一直在尝试将位图设置为 MP3 的封面,但似乎无法正常工作。它没有抛出任何错误,但是当我播放 MP3 时,位图没有显示。

这是我目前拥有的:

0 投票
1 回答
2141 浏览

ffmpeg - 使用 ffmpeg 转换后使用 TagLib 打开时出现“未找到 MPEG 音频头”错误

我只是通过做这样的事情来转换一个 wma 文件......

然后我可以在 Windows Media player 中播放 mp3 文件,所以看起来转换工作正常。

但是,如果我尝试在 TagLib 中打开文件,我会在下一行收到错误“找不到 MPEG 音频头”...

我已经在几个 wma 文件上尝试过这个,所以不仅仅是那个有问题。

有人知道我做错了什么吗?我发现 ffmpeg 的文档非常压倒性,作为音频编码领域的一个完全无知的人,我不知道其中大部分是什么意思。可能是我在转换中遗漏了一些东西,虽然这不能解释为什么 WMP 可以播放它但 TagLib 不能打开它。

0 投票
2 回答
676 浏览

c# - Build TagLib# DLL from source and make it COM Visible to PHP

Hello I want to scan audio-video files and store their metadata in a database using php. I found this Command-line wrapper that uses TagLib.dll compiled by banshee developpers to do the job. It's works fine but it limited by the functions implemented. I want to access directly to the dll methods via PHP.

In PHP we have a function (DOTNET) that allows me to instantiate a class from a .Net assembly and call its methods and access its properties like this :

Here is the Taglib# project sources in github

I saw many questions relatives to PHP-DLL-COM and there is some recommendations :

  • Make the dll comVisible;
  • Register the dll with regsvr32;
  • Use a module definition file similar to

;

My question is : How can I build the DLL and use its method via PHP ?

My config :

  • OS

    Windows Server 2012 R2 Standard Edition i586

  • Apache :

    Apache/2.2.21 (Win32) DAV/2 PHP/5.4.42 mod_ssl/2.2.21 OpenSSL/0.9.8r

  • PHP

    PHP Version : 5.4.42
    Arch : x86
    Compiler : MSVC9 (Visual C++ 2008)
    COM support : enabled
    DCOM support : disabled
    .Net support enabled

  • Microsoft Visual Studio 2013

0 投票
1 回答
109 浏览

c# - 有没有更有效的编码方式?

我想不出更好的方法来写这个,这段代码还有 7 个块。

0 投票
0 回答
66 浏览

.net - TagLibSharp 是否锁定文件?

不幸的是,我目前无法直接访问我的代码,但该应用程序执行以下操作:

  • 得到string[] files = Directory.GetFiles(dir, "*.mp3", SearchOptions.AllDirectories);
  • 遍历 files 中的每个文件并获得一个通用的 Tag 对象(不是专门的 IDV3 对象,或者任何格式)
  • 从 Tag 对象构建一个带有新文件名 {track no} - {track name} 的字符串并将其添加到列表中
  • File.Copy(files[i], newFileName, true)重命名文件(使用新名称复制到同一目录)

File.Copy崩溃,它告诉我另一个进程正在使用该文件。我知道事实上没有其他人在使用这些文件,但是我的代码中的某处必须锁定它们,我不知道是什么,也不知道如何推断它是哪一位。

我已经尝试添加myTagObject.Save(); myTagObject.Clear(); myTagObject = null;以防 TL# 锁定文件,但我想不出我可以在那里做更多的事情来释放它。

0 投票
1 回答
2178 浏览

powershell - 将 [System.Drawing.Bitmap] 转换为 [File.IFileAbstraction]

任务

在 PowerShell 中,我想借助taglip-sharp库将图片添加为 ID3V2 标记。
通常你这样做:

一般问题

仅当您的图片是位于本地某处的文件时,上述方法才有效。但是我有一张图片作为[System.Drawing.Bitmap]对象,它没有文件路径来加载它createfrompath

在你说然后把它写到光盘之前:我宁愿避免保存它们,因为我的最终脚本处理了许多图片和 mp3 文件。而且我不想写和删除数百张图片。

具体问题

我看到 taglib 还有另一种方法CreateFromFile(File.IFileAbstraction )来加载图片。但是如何将 a 转换[System.Drawing.Bitmap]为 a IFileAbstraction

我在网上找到的最接近的帮助是这里这里。但它适用于 .NET 4.5,我无法将其转换为 PowerShell 语法

如果有帮助,这里是 taglib-sharp 的图片对象的文档。

0 投票
0 回答
309 浏览

c# - 当我打开流以使用 taglib 锐利便携式写入时,Windows Phone 8.1 中的访问被拒绝 0x80070005

那里。我对 taglib 尖锐便携有一点问题。我想从音乐库中打开一个流,我想重写一个文件的属性。

我的代码是:

var stream = await file.OpenStreamForWriteAsync(),我有这个错误:

mscorlib.ni.dll 中的“System.UnauthorizedAccessException”访问被拒绝。(来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))

有什么问题?如果我想打开只读标签的流,则此代码有效。为什么这段代码不起作用?如果我使用 taglib sharp(不可移植)并且我这样做:

我有tags.Save()一个错误的问题

System.Stackoverflow 异常。

我必须做什么?

0 投票
1 回答
7151 浏览

powershell - 使用 Taglib-Sharp 操作用户定义的标签(TXXX 帧)

情况与任务

我有大量音乐收藏,我想用 PowerShell 和taglip-sharp清理他们的ID3V2 标签。有些标签喜欢或应该被删除,而另一些标签喜欢或不应该。commentencodingartisttitle

通常您以这种方式操作 ID3 标签(简化版)

问题

许多音乐文件将自定义信息存储URLShop Name一个名为TXXX. 不幸的是,使用上面显示的方法无法访问此框架。或者我还没有找到方法。

相反,您使用

用户定义的文本信息框可以包含多个值。有些是有用的,因为音乐播放器,如 Foobar 商店PERFORMERDATEreplay_track_gain标签TXXX

上述行的示例输出可能是:

在此之后,我能够过滤掉所有不必要的 TXXX 值

问题:如何将多个值写入TXXX框架

所以我的问题是,如何将过滤后的结果保存回 mp3 文件?
我失败的尝试是:

SetTextFrame 的 Taglib-Sharp 文档


额外的问题: taglib-sharp 是否能够在将新标签保存为 ID3v2.3 标签的同时去除 Id3v1 和 ID3v2.4 标签?(相关的 SO 答案,但不区分 v2.3 和 v2.4