【问题标题】:C# MP4File .mp4 metadata tag edittingC# MP4 File .mp4 元数据标签编辑
【发布时间】:2017-12-29 20:10:29
【问题描述】:

我正在制作 YouTube 下载器,但遇到了一个我不知道如何解决的问题。基本上,您选择要下载的 YouTube 视频并将其添加到队列中。下载它们后,我使用 MP4File .dll 来编写 mp4 元数据标签。

大部分 YouTube 下载和元数据标签都有效,但我认为当 YouTube 标题包含符号时​​,它不会更改元数据标签,而是崩溃。

我已经调试了程序,发现这个方法的问题:

    public static void UpdateMP4Details(string path, string title, string imagePreview)
    {
        try
        {
            MP4File file = MP4File.Open(@path); // Something wrong with the path

            file.Tags.Title = title; // Crashes here
            file.Tags.Artist = "Youtube";
            file.Tags.Artwork = DownloadImageFromUrl(imagePreview);
            file.Save();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message + "\n\nUnable to save video details", title);
        }
    }

我得到的错误是:“对象引用未设置为对象的实例”我相信这是因为它由于符号而无法找到路径。

有时错误是:“必须指定一个有效的文件名” 路径:

"C:\Users\MyUserName\Documents\Visual Studio 2015\Projects\MusicDownloader\MusicDownloader\bin\Debug\TByte\User1\Videos\General\Ed Sheeran - Perfect Duet (with Beyoncé) [官方音频].mp4 "

这是一个非常奇怪的问题,我尝试了很多替代方法,但我相信这与路径中的符号有关,因为所有其他没有符号的 YouTube 视频都可以工作。

有没有办法解决这个问题?有人可以帮忙吗?

【问题讨论】:

标签: c# winforms video tags mp4


【解决方案1】:

Windows 对该文件名中的字符应该没有问题,但也许 MP4File 库可以。

是否可以使用最初不会导致问题的文件名下载文件?也许使用 youtube 视频 ID 之类的东西而不是视频的标题会起作用,因为那是一个纯 ASCII 字符串。

【讨论】:

  • 谢谢解答,我去看看
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-17
  • 1970-01-01
  • 2016-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多