Example #1
0
        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);
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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();
            }
        }
Example #5
0
        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]);
            }
        }
Example #6
0
        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];
            }
        }
Example #7
0
        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();
                }
            }
        }