public MusicID3Tag GetTags(string filePath) { MusicID3Tag tags = null; using (FileStream fs = File.OpenRead(filePath)) { if (fs.Length >= 128) { MusicID3TagByte tag = new MusicID3TagByte(); fs.Seek(-128, SeekOrigin.End); fs.Read(tag.TAGID, 0, tag.TAGID.Length); fs.Read(tag.Title, 0, tag.Title.Length); fs.Read(tag.Artist, 0, tag.Artist.Length); fs.Read(tag.Album, 0, tag.Album.Length); fs.Read(tag.Year, 0, tag.Year.Length); fs.Read(tag.Comment, 0, tag.Comment.Length); fs.Read(tag.Genre, 0, tag.Genre.Length); string theTAGID = Encoding.Default.GetString(tag.TAGID); if (theTAGID.Equals("TAG")) { tags = new MusicID3Tag(); tags.Title = Encoding.Default.GetString(tag.Title).Replace("\0", ""); tags.Artist = Encoding.Default.GetString(tag.Artist).Replace("\0", ""); tags.Album = Encoding.Default.GetString(tag.Album).Replace("\0", ""); tags.Year = Encoding.Default.GetString(tag.Year).Replace("\0", ""); tags.Comment = Encoding.Default.GetString(tag.Comment).Replace("\0", ""); tags.Genre = Encoding.Default.GetString(tag.Genre).Replace("\0", ""); } } } return(tags); }
void AddOneNewSongClick(object param) { FileInfo info = new FileInfo(PathToFile); MessageBox.Show(info.FullName); StreamReader sourceStream = new StreamReader(PathToFile); byte[] fileContents = File.ReadAllBytes(PathToFile);// = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd()); sourceStream.Close(); SongData data = new MusicID3Tag().DoParseFile(PathToFile); if (data != null) { ParametrSong ps = new ParametrSong(); ps.User = User_client; ps.Genre = GenreForAdd; ps.NameArtist = data.NameArtist; ps.NameSong = data.NameSong; ps.FileName = info.Name; ps.File = fileContents; adminConnector.UploadFileToFtp(ps); } }
public static MusicInfo GetMusicInfo(FileStream stream) { MusicInfo info = new MusicInfo(); if (stream.Length >= 128) { MusicID3Tag tag = new MusicID3Tag(); stream.Seek(-128, SeekOrigin.End); stream.Read(tag.TAGID, 0, tag.TAGID.Length); string theTAGID = Encoding.Default.GetString(tag.TAGID); if (theTAGID.Equals("TAG")) // version 1 { stream.Read(tag.Title, 0, tag.Title.Length); stream.Read(tag.Artist, 0, tag.Artist.Length); stream.Read(tag.Album, 0, tag.Album.Length); stream.Read(tag.Year, 0, tag.Year.Length); stream.Read(tag.Comment, 0, tag.Comment.Length); stream.Read(tag.Genre, 0, tag.Genre.Length); info.Title = Encoding.Default.GetString(tag.Title); info.Artist = Encoding.Default.GetString(tag.Artist); info.Album = Encoding.Default.GetString(tag.Album); info.Year = Encoding.Default.GetString(tag.Year); info.Comment = Encoding.Default.GetString(tag.Comment); info.Genre = Encoding.Default.GetString(tag.Genre); } } if (IsNullOrEmpty(info.Title)) { info.Title = string.Empty; } if (IsNullOrEmpty(info.Artist)) { info.Artist = string.Empty; } if (IsNullOrEmpty(info.Album)) { info.Album = string.Empty; } if (IsNullOrEmpty(info.Year)) { info.Year = string.Empty; } if (IsNullOrEmpty(info.Comment)) { info.Comment = string.Empty; } if (IsNullOrEmpty(info.Genre)) { info.Genre = string.Empty; } return(info); }
private void loadButton_Click(object sender, RoutedEventArgs e) { Button btn = sender as Button; int index = (int)btn.Tag; Microsoft.Win32.OpenFileDialog openFileDlg = new Microsoft.Win32.OpenFileDialog(); openFileDlg.DefaultExt = ".mp3"; openFileDlg.Filter = "MP3 file (.mp3)|*.mp3"; Nullable <bool> result = openFileDlg.ShowDialog(); if (result == true) { filePath = openFileDlg.FileName; _players[index].Open(new Uri(filePath)); _players[index].MediaOpened += loadedMusic; using (FileStream fs = File.OpenRead(filePath)) { if (fs.Length >= 128) { MusicID3Tag tag = new MusicID3Tag(); fs.Seek(-128, SeekOrigin.End); fs.Read(tag.TAGID, 0, tag.TAGID.Length); fs.Read(tag.Title, 0, tag.Title.Length); fs.Read(tag.Artist, 0, tag.Artist.Length); fs.Read(tag.Album, 0, tag.Album.Length); fs.Read(tag.Year, 0, tag.Year.Length); fs.Read(tag.Comment, 0, tag.Comment.Length); fs.Read(tag.Genre, 0, tag.Genre.Length); string theTAGID = Encoding.Default.GetString(tag.TAGID); string fileNameOnly = Path.GetFileName(filePath); _controls[index].FileNameLabel.Content = fileNameOnly; if (theTAGID.Equals("TAG")) { string Title = Encoding.Default.GetString(tag.Title); string Artist = Encoding.Default.GetString(tag.Artist); string Album = Encoding.Default.GetString(tag.Album); string Year = Encoding.Default.GetString(tag.Year); string Comment = Encoding.Default.GetString(tag.Comment); string Genre = Encoding.Default.GetString(tag.Genre); } } } _players[index].Play(); } }
double[] GenTGI(string filename, out MusicID3Tag tags) { var curfileinfo = GetTags(filename); if (curfileinfo != null) { var bp = ts.getBitmapArrayString(curfileinfo.GetAll()); tags = curfileinfo; return(bp); } else { tags = new MusicID3Tag(); return(new double[96]); } }
double[] GenTGI(string filename,out MusicID3Tag tags) { var curfileinfo = GetTags(filename); if (curfileinfo != null) { var bp = ts.getBitmapArrayString(curfileinfo.GetAll()); tags = curfileinfo; return bp; } else { tags = new MusicID3Tag(); return new double[96]; } }
public MusicID3Tag GetTags(string filePath) { MusicID3Tag tags = null; using (FileStream fs = File.OpenRead(filePath)) { if (fs.Length >= 128) { MusicID3TagByte tag = new MusicID3TagByte(); fs.Seek(-128, SeekOrigin.End); fs.Read(tag.TAGID, 0, tag.TAGID.Length); fs.Read(tag.Title, 0, tag.Title.Length); fs.Read(tag.Artist, 0, tag.Artist.Length); fs.Read(tag.Album, 0, tag.Album.Length); fs.Read(tag.Year, 0, tag.Year.Length); fs.Read(tag.Comment, 0, tag.Comment.Length); fs.Read(tag.Genre, 0, tag.Genre.Length); string theTAGID = Encoding.Default.GetString(tag.TAGID); if (theTAGID.Equals("TAG")) { tags = new MusicID3Tag(); tags.Title = Encoding.Default.GetString(tag.Title).Replace("\0", ""); tags.Artist = Encoding.Default.GetString(tag.Artist).Replace("\0", ""); tags.Album = Encoding.Default.GetString(tag.Album).Replace("\0", ""); tags.Year = Encoding.Default.GetString(tag.Year).Replace("\0", ""); tags.Comment = Encoding.Default.GetString(tag.Comment).Replace("\0", ""); tags.Genre = Encoding.Default.GetString(tag.Genre).Replace("\0", ""); } } } return tags; }
private void MultiOpen_Click(object sender, RoutedEventArgs e) { Microsoft.Win32.OpenFileDialog openFileDlg = new Microsoft.Win32.OpenFileDialog(); openFileDlg.DefaultExt = ".mp3"; openFileDlg.Filter = "MP3 file (.mp3)|*.mp3"; openFileDlg.Multiselect = true; Nullable <bool> result = openFileDlg.ShowDialog(); if (result == true) { if (openFileDlg.FileNames.Length > 9) { MessageBox.Show("알림", "9개까지 재생 가능합니다."); return; } StopMediaPlayers(); for (int i = 0; i < openFileDlg.FileNames.Length; i++) { filePath = openFileDlg.FileNames[i]; //sampleMediaPlayer.Open(new Uri(filePath)); //sampleMediaPlayer.MediaOpened += loadedMusic; _players[i].Open(new Uri(filePath)); _players[i].MediaOpened += loadedMusic; using (FileStream fs = File.OpenRead(filePath)) { if (fs.Length >= 128) { MusicID3Tag tag = new MusicID3Tag(); fs.Seek(-128, SeekOrigin.End); fs.Read(tag.TAGID, 0, tag.TAGID.Length); fs.Read(tag.Title, 0, tag.Title.Length); fs.Read(tag.Artist, 0, tag.Artist.Length); fs.Read(tag.Album, 0, tag.Album.Length); fs.Read(tag.Year, 0, tag.Year.Length); fs.Read(tag.Comment, 0, tag.Comment.Length); fs.Read(tag.Genre, 0, tag.Genre.Length); string theTAGID = Encoding.Default.GetString(tag.TAGID); string fileNameOnly = Path.GetFileName(filePath); _controls[i].FileNameLabel.Content = fileNameOnly; if (theTAGID.Equals("TAG")) { string Title = Encoding.Default.GetString(tag.Title); string Artist = Encoding.Default.GetString(tag.Artist); string Album = Encoding.Default.GetString(tag.Album); string Year = Encoding.Default.GetString(tag.Year); string Comment = Encoding.Default.GetString(tag.Comment); string Genre = Encoding.Default.GetString(tag.Genre); //songTitleLabel.Content = (Title); //artistNameLabel.Content = (Artist); //albumTitleLabel.Content = (Album); } } } _players[i].Play(); } } }