VS2010使用COM组件Microsoft Shell Controls And Automation来获取音频文件播放时长
环境:win7 64位 且装有音频管理器
实现方法:
1、添加引用
2、代码:
//获取文件路径
string m_DirName = System.AppDomain.CurrentDomain.BaseDirectory + "Data\\" + m_FileName;//m_FileName为.wav格式的语音文件名
//获取文件时长
ShellClass sh = new ShellClass();
Folder dir = sh.NameSpace(System.IO.Path.GetDirectoryName(m_DirName));
FolderItem item = dir.ParseName(System.IO.Path.GetFileName(m_DirName));
string m_FileTime = dir.GetDetailsOf(item, 27);
3、遇到错误:
无法嵌入互操作类型“Shell32.ShellClass”。请改用适用的接口。
解决方法:
修改引用->Shell32->属性->嵌入互操作类型,从true改为false。