2012-03-08 10 views
1

私は単純なメトロスタイルのアプリをC#で書いています。今私は問題をfilepickerでそれらを選んだ後にファイルにアクセスしている。 TagLib.File.Create(fileo.Path)でファイルアクセスエラーが発生しました。どうすればmp3タグを読むことができますか?C#、windows 8 metro ap

var picker = new FileOpenPicker(); 
    picker.FileTypeFilter.Add(".mp3"); 
    var file = await picker.PickMultipleFilesAsync(); 
foreach (StorageFile fileo in file) 
    { 
    TagLib.File mp3 = TagLib.File.Create(fileo.Path); 
    string pikkus = mp3.Properties.Duration.ToString(); 
    } 
+1

あなたがファイルを読み取るためのアクセス権を持っていますか? – ChrisF

+0

Windows 8ではすべてのメトロアプリがサンドボックスで動作します。私はfilepickerを使うときにしかそれらにアクセスできません。 1つの方法は、ストリームvar stream = fileo.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite)を待っていますが、taglibはストリーム入力を受け付けません。 – henri17

+0

だから誰も知らない? – henri17

答えて

3

あなたが買うmp3タグを読むことができます。ファイルで音楽プロパティを取得します。

MusicProperties musicProp = await file.Properties.GetMusicPropertiesAsync(); 
2

が、私はここに解決策を見つけたHow to: Get IDE Tags of a file

読む|形式:MP3タグ:

try 
{ 
var file = await StorageFile.GetFileFromPathAsync(path); 
MusicProperties musicProperties = await file.Properties.GetMusicPropertiesAsync(); 
} 
catch(Exception e){ 
//Error Message here 
} 

表示形式:MP3タグ:

string title = musicProperties.Title; 
string artist = musicProperties.Artist; 
string album = musicProperties.Album; 
関連する問題