首页 > 解决方案 > 如何在 Xamarin Forms 中获取视频的长度

问题描述

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

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

标签: videoxamarin.formsxamarin.androidxamarin.ios

解决方案


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

对于安卓:

    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();

    }

推荐阅读