Fix Duration of track in music player is not shown 77/320277/3
authorMd. Shahrukh Islam/NC eXperience Group /SRBD/Engineer/Samsung Electronics <shahrukh.i@samsung.com>
Tue, 12 Nov 2024 04:51:20 +0000 (10:51 +0600)
committerMd. Shahrukh Islam/NC eXperience Group /SRBD/Engineer/Samsung Electronics <shahrukh.i@samsung.com>
Tue, 12 Nov 2024 09:04:27 +0000 (15:04 +0600)
[Problem][TNINE-5316] Duration of track in music player is not shown
[Cause & Measure]
 Cause   : Tizen.Content.MediaContent.AudioInfo.Duration is deprecated.
 Measure : Used Tizen.Multimedia.MetadataExtractor instead of Tizen.Content.MediaContent.AudioInfo.Duration.

Change-Id: Ie7c3f1b7902508d1334fab867e6abf9addaeb930
Signed-off-by: Md. Shahrukh Islam/NC eXperience Group /SRBD/Engineer/Samsung Electronics <shahrukh.i@samsung.com>
music-player/Models/Track.cs

index 8e49e2b42f42b141c07e112c0fb1c55cc709188d..21910ae6c4eb7c8277ef79d3c9e8ad8d24e0bbf4 100755 (executable)
@@ -1,5 +1,6 @@
 using System;\r
 using MusicPlayer.Common;\r
+using Tizen.Multimedia;\r
 \r
 namespace MusicPlayer.Models\r
 {\r
@@ -17,12 +18,20 @@ namespace MusicPlayer.Models
             Id = audioInfo.Id;\r
             ArtistName = audioInfo.Artist;\r
             DurationInMS = audioInfo.Duration;\r
-            Duration = TimeSpan.FromMilliseconds(audioInfo.Duration).ToString(AppConstants.TimeFormat);\r
+            Duration = getDurationText(audioInfo.Path);\r
             ThumbnailPath = audioInfo.ThumbnailPath;\r
             FilePath = audioInfo.Path;\r
             IsSelected = false;\r
         }\r
 \r
+        private string getDurationText(string path)\r
+        {\r
+            var metadataExtractor = new MetadataExtractor(path);\r
+            Metadata metadata = metadataExtractor.GetMetadata();\r
+            string duration = TimeSpan.FromMilliseconds((double)metadata.Duration).ToString(AppConstants.TimeFormat);\r
+            return duration;\r
+        }\r
+\r
         public bool IsThumbPathExists { get; private set; }\r
 \r
         private string trackTitle;\r