Shu*_*avi 5 c# media model-view-controller duration
我需要存储在 Amazon S3 云存储中的音频和视频 URL 的媒体长度。我尝试过 wmplib 和 directshow lib,但两者都用于获取文件临时存储在文件系统中时的持续时间或长度。我需要通过直接传递云URL来获取媒体长度。
我还使用过 Windows APICodePack.Shell 库。所有这些库都可用于获取本地存储文件的持续时间。
如何实现这一目标?
使用 Windows APICodePack.Shell
using Microsoft.WindowsAPICodePack.Shell;
ShellFile so = ShellFile.FromFilePath(file);
double nanoseconds;
double.TryParse(so.Properties.System.Media.Duration.Value.ToString(),
out nanoseconds);
Console.WriteLine("NanaoSeconds: {0}", nanoseconds);
Run Code Online (Sandbox Code Playgroud)
使用 WMPLib
WindowsMediaPlayerClass wmp = new WindowsMediaPlayerClass();
IWMPMedia mediaInfo = wmp.newMedia(filePath);
return mediaInfo.durationString
Run Code Online (Sandbox Code Playgroud)