毛伊岛 MP3 文件持续时间 - MediaElement 持续时间读取 00:00

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

我正在使用新的 dotnet maui MediaElement,在让我的用户选择要播放的 MP3 文件之前,我想列出曲目及其持续时间 - 在我的例子中是 MP3 文件。但是,除非您让 MediaElement 播放文件,并等待 mediaOpened 事件,否则持续时间为零,这没有帮助。关于如何在 Maui 跨平台上可靠地读取 MP3 文件持续时间有什么想法吗?

对于 Windows,优秀的 nuget 包 nAudio 只需 2 行代码即可工作,但在 iPhone 上会崩溃。

maui mp3 naudio mediaelement
1个回答
0
投票

向 Jason 致歉,我确实回顾了他建议的搜索,虽然我以为 TagLib 只是 C++,但我发现了一个 C Sharp 版本,这解决了我的问题 - 如下:

下载并安装nuget包TagLibSharp

我的代码是:

using TagLib;

var TagFile = TagLib.File.Create(MP3FileName);
TimeSpan duration = TagFile.Properties.Duration;
string Duration = Duration = duration.ToString(@"mm\:ss");

有一个小问题,编译器会因为 TagLib 使用术语“文件”而感到困惑

这可能会与 System.IO.File 混淆,因此在使用 File 进行实际文件操作时我必须明确

© www.soinside.com 2019 - 2024. All rights reserved.