【问题标题】:How do get the length of a video in Xamarin Forms如何在 Xamarin Forms 中获取视频的长度
【发布时间】:2023-03-27 21:40:01
【问题描述】:

如何使用 Xamarin Forms 获取视频的长度?我已使用以下链接从视频中获取缩略图,但我需要能够获取视频长度

https://forums.xamarin.com/discussion/119450/create-thumbnail-from-video

【问题讨论】:

    标签: video xamarin.forms xamarin.android xamarin.ios


    【解决方案1】:

    好的,我能够用我的大脑来解决这个问题。它在链接中使用了类似的方法:

    对于安卓:

        public string VideoLength(string url)
        {
            MediaMetadataRetriever retriever = new MediaMetadataRetriever();
            retriever.SetDataSource(url, new Dictionary<string, string>());
            var length = retriever.ExtractMetadata(MetadataKey.Duration);
            var lengthseconds = Convert.ToInt32(length) / 1000;
            TimeSpan t = TimeSpan.FromSeconds(lengthseconds);
            var timeformat = t.ToString();
            return timeformat.ToString();
        }
    

    对于IOS:

        public string VideoLength(string url)
        {
           AVAsset avasset = AVAsset.FromUrl((new Foundation.NSUrl(url)));
            var length = avasset.Duration.Seconds.ToString();
            var lengthseconds = Convert.ToInt32(length) / 1000;
            TimeSpan t = TimeSpan.FromSeconds(lengthseconds);
            var timeformat = t.ToString();
            return timeformat.ToString();
    
        }
    

    【讨论】:

    • 在这两种情况下,都不需要返回后的ToString,您基本上是将字符串转换为字符串,这使其成为额外的代码行,只需返回t.ToString();,您应该很好
    猜你喜欢
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 2011-09-07
    • 2016-07-04
    • 2011-09-07
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多