私はYouTubeダウンローダーを作っていますが、修正方法がわからないという問題が発生しました。基本的には、ダウンロードするYouTubeビデオを選択し、それをキューに追加します。それらがダウンロードされた後、私はmp4メタデータタグを書き込むためにMP4File .dllを使用しました。C#MP4File .mp4 metadata tag editing
ほとんどの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:プロジェクト\ MusicDownloader \ MusicDownloader \ binに\デバッグ\ Visual Studioの2015 \ \ Users \ユーザーMYUSERNAME \ドキュメント\テラバイト\ (ビヨンセ付き)[公式オーディオ] .mp4 "
これは非常に問題に直面しています。私は多くの選択肢を試しましたが、パス内のシンボルと関係していると思います。シンボルのない他のすべてのYouTube動画は機能します。
これには方法がありますか?誰でも助けてくれますか?
[NullReferenceExceptionとは何ですか?それを修正するにはどうすればいいですか?](https://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix -it) – HaveSpacesuit