【问题标题】:The specified executable is not a valid application for this OS platform mediatoolkit指定的可执行文件不是此 OS 平台 mediatoolkit 的有效应用程序
【发布时间】:2021-11-24 08:07:59
【问题描述】:

我有这个函数可以使用 mediaToolKit 获取 mp3 文件的持续时间。

但是当执行engine.GetMetadata(inputFile);我有一个例外是:

System.ComponentModel.Win32Exception: '指定的可执行文件不是此操作系统平台的有效应用程序。'

private string getDuration()
        {
            string orginalFilePath = LocalMediaPath;
            if (File.Exists(orginalFilePath))
            {
                var inputFile = new MediaFile { Filename = orginalFilePath };
                using (var engine = new Engine())
                {
                    engine.GetMetadata(inputFile);
                    return inputFile.Metadata.Duration.TotalSeconds.ToString();
                }
            }
            else
                return "-1";
        }

【问题讨论】:

  • 我已经做出了回答。如果您不介意,可以点击“✔”将我的回复标记为已接受答案。它还将帮助其他人解决类似的问题。

标签: c# visual-studio


【解决方案1】:

I found the source code.

效果很好!

片段:

using MediaToolkit;
using MediaToolkit.Model;
using System;
namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            var inputFile = new MediaFile { Filename = @"C:\Users\Admin\source\repos\ConsoleApp2\ConsoleApp2\music\123.mp3" };
            using (var engine = new Engine())
            {
                engine.GetMetadata(inputFile);
            }
            Console.WriteLine(inputFile.Metadata.Duration);
            System.Console.ReadLine();
        }
    }
}

更改您的文件,您的文件可能不受支持。

【讨论】:

  • 问题出在mp3文件本身,谢谢,抱歉很久才回复
猜你喜欢
  • 1970-01-01
  • 2017-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-09
  • 2016-10-11
  • 2018-03-30
  • 1970-01-01
相关资源
最近更新 更多