public static int GetDuration(Android.Net.Uri uri) { Android.Media.MediaMetadataRetriever m = new Android.Media.MediaMetadataRetriever(); m.SetDataSourceAsync(Android.App.Application.Context, uri); String durationStr = m.ExtractMetadata(Android.Media.MetadataKey.Duration); int millSecond = int.Parse(durationStr); return(millSecond); }
public static long GetDurationBitsByUri(Android.Net.Uri uri, int bitRate) { Android.Media.MediaMetadataRetriever m = new Android.Media.MediaMetadataRetriever(); m.SetDataSourceAsync(Android.App.Application.Context, uri); String durationStr = m.ExtractMetadata(Android.Media.MetadataKey.Duration); int millSecond = int.Parse(durationStr); long db = (long)(((decimal)millSecond / (decimal)1000) * bitRate); return(db); }
public static AudioProperties GetParam(string path) { Android.Media.MediaMetadataRetriever reader = new Android.Media.MediaMetadataRetriever(); reader.SetDataSource(path); string title = reader.ExtractMetadata(Android.Media.MediaMetadataRetriever.MetadataKeyTitle); string album = reader.ExtractMetadata(Android.Media.MediaMetadataRetriever.MetadataKeyAlbum); string artist = reader.ExtractMetadata(Android.Media.MediaMetadataRetriever.MetadataKeyArtist); string bitrate = reader.ExtractMetadata(Android.Media.MediaMetadataRetriever.MetadataKeyBitrate); return(new AudioProperties { Title = title, Album = album, Artist = artist, Bitrate = bitrate, TrackPath = path }); }