2017-03-14 4 views
0

ListviewのフォルダからMp3ファイルをロードしています。私は、フィールドのデータを入力し、それがここでいくつかの他のプロセスによって使用されるecceptionプロセスカントアクセスファイルをスロー更新タグをクリックtags.when右クリックして、オプションのpnリストビューを更新するオプションがあることは私のコードWpfリストビューの例外処理は他のプロセスで使用されています

private void UpdateTagEditor_RegisterActionEventHandler(object sender, RoutedEventArgs e) 
{ 
    var tags = sender as UpdateTags; 
    string path = tags.targetPath; 
    string comments = tags.txtTagComment.Text; 
    string lyrics = tags.txtTagLyrics.Text; 
    try 
    { 
     using (var stream = File.Open(path, FileMode.Open, FileAccess.Write, FileShare.Read)) 
     { 
      TagLib.Id3v2.Tag.DefaultVersion = 3; 
      TagLib.Id3v2.Tag.ForceDefaultVersion = true; 
      TagLib.File tagFile = TagLib.File.Create(path); 
      tagFile.Tag.Comment = comments; 
      tagFile.Tag.Lyrics = lyrics; 
      tagFile.Save(); 
     } 
    } 
    catch (Exception exception) 
    { 

    } 
} 
+0

私はタグライブラリを使用していないが、あなたは 'TagLib.File.Create(確信している)' 'あなたのusing'文の中で同じファイルを作成しようとしないのですか? –

+0

Mp3タグをバルクモードで編集するとコードが正常に動作します。今私はMP3ファイルを読み込み、リストビューのプロンプラムでバインド私は右のクリックして更新オプションに直面している単一のファイルタグのudading –

答えて

0

あなたはどのようなものですStreamを使用していますか?それは何もない。ファイルを2回作成しようとしています。ストリームを削除するようにしてください:

private void UpdateTagEditor_RegisterActionEventHandler(object sender, RoutedEventArgs e) 
{ 
    var tags = sender as UpdateTags; 
    string path = tags.targetPath; 
    string comments = tags.txtTagComment.Text; 
    string lyrics = tags.txtTagLyrics.Text; 
    try 
    { 
     TagLib.Id3v2.Tag.DefaultVersion = 3; 
     TagLib.Id3v2.Tag.ForceDefaultVersion = true; 
     TagLib.File tagFile = TagLib.File.Create(path); 
     tagFile.Tag.Comment = comments; 
     tagFile.Tag.Lyrics = lyrics; 
     tagFile.Save(); 
    } 
    catch (Exception exception) 
    { 

    } 
} 
関連する問題