예제 #1
0
        public Metadata GetMetadata(string filename, Stream inputStream)
        {
            WaveStream  reader   = getReader(filename, inputStream);
            Mp3Metadata mp3meta  = new Mp3Metadata();
            var         duration = reader.TotalTime;

            mp3meta.Duration = String.Format("{0:00}:{1:00}", duration.Minutes, duration.Seconds);
            return(mp3meta);
        }
예제 #2
0
        public void WaveformService_GetMetadata()
        {
            string     filenameAndPath = "data/mabenz.mp3";
            FileStream stream          = new FileStream(filenameAndPath, FileMode.Open);

            Mp3Metadata metadata = service.GetMetadata(filenameAndPath, stream) as Mp3Metadata;

            Assert.IsNotNull(metadata);
            Assert.IsTrue(!String.IsNullOrEmpty(metadata.Duration));
        }
예제 #3
0
파일: MogFileTest.cs 프로젝트: jrocket/MOG
        public void MogFile_Metadata()
        {
            Mp3Metadata data = new Mp3Metadata();

            data.Duration = "4:07";

            ProjectFile file = new ProjectFile();

            file.SetMetadata(data);

            var retrievedMetadata = file.GetMetadata() as Mp3Metadata;

            Assert.IsNotNull(retrievedMetadata);
            Assert.IsFalse(String.IsNullOrEmpty(retrievedMetadata.Duration));
        }
예제 #4
0
        private void addFilesToProject(Project project, List <UserProfileInfo> profiles, MogDbContext context)
        {
            List <FileType> filetypes = new List <FileType>()
            {
                FileType.Bass, FileType.Drums, FileType.Guitar, FileType.Idea, FileType.Mixdown
            };
            List <FileStatus> filestatus = new List <FileStatus>()
            {
                FileStatus.Accepted, FileStatus.Draft, FileStatus.Rejected, FileStatus.Submitted
            };
            Random      rand     = new Random((int)DateTime.Now.Ticks);
            Mp3Metadata metadata = new Mp3Metadata()
            {
                Duration = "4:07"
            };

            for (int j = 0; j < 5; j++)
            {
                ProjectFile file = new ProjectFile()
                {
                    CreatedOn        = DateTime.Now,
                    Creator          = profiles[rand.Next(2)],
                    Description      = "Lorem Ipsum",
                    DownloadCount    = 42,
                    FileStatus       = filestatus[j % 4],
                    Tags             = filetypes[j % 5].ToString(),
                    Likes            = 12,
                    ModifiedOn       = DateTime.Now,
                    DisplayName      = "Track name",
                    InternalName     = "TrackInternalName",
                    PlayCount        = 32,
                    ProjectId        = project.Id,
                    ThumbnailId      = 1,
                    Path             = "/mabenz.mp3",
                    AuthCredentialId = 1,
                    PublicUrl        = "https://dl.dropboxusercontent.com/1/view/4cbnwwcomsg1xl3/Applications/MyOwnGarage/mabenz.mp3"
                };
                file.SetMetadata(metadata);
                file = context.Files.Add(file);
                addCommentToFile(file, profiles, context);
                context.SaveChanges();
            }
        }
예제 #5
0
 public static extern int DecodeToPcm(void *glf, byte *source, int sourceSize, out Mp3Metadata metadata, out byte *destination, out int destinationSize);