Video Converter for .NET (C#) FFMpeg wrapper

http://www.nrecosite.com/video_converter_net.aspx

Document: http://www.nrecosite.com/doc/NReco.VideoConverter/

Nuget: https://www.nuget.org/packages/NReco.VideoConverter/

Install-Package NReco.VideoConverter

获取MP3声音长度

http://stackoverflow.com/questions/13722501/easiest-way-to-get-mp3-duration-and-size

方法1: 通过NAudio

Mp3FileReader reader = new Mp3FileReader("filename.mp3");
TimeSpan duration = reader.TotalTime;

方法2: 通过Shell32 DLL

public class Mp3Service
{
/// <summary>
/// 根据mp3文件的绝对路径和属性名称获得属性值
/// </summary>
/// <param name="filePath"></param>
/// <param name="attributeName">如:播放时间、文件大小、比特率</param>
/// <returns></returns>
public static string GetFileAttribute(string filePath, string attributeName)
{
//TagLib.File file = new AudioFile(filePath); string attributeVal = "";
List<string> fileInfoArr = GetMp3FileDetailInfo(filePath);
if (System.Web.HttpContext.Current != null)
{
System.Web.HttpContext.Current.Trace.Write("AuduioFileInfo", JsonConvert.SerializeObject(fileInfoArr));
}
switch (attributeName)
{
case "播放时间":
if (fileInfoArr.Count > 28)
attributeVal = fileInfoArr[28];
break;
case "文件大小":
if (fileInfoArr.Count > 2)
attributeVal = fileInfoArr[2];
break;
case "比特率":
if (fileInfoArr.Count > 29)
attributeVal = fileInfoArr[29];
break; }
return attributeVal;
} /// <summary>
/// 获得mp3文件的详细信息
/// </summary>
/// <param name="strPath"></param>
/// <returns></returns>
public static List<string> GetMp3FileDetailInfo(string strPath)
{
List<string> fileInfoArr = new List<string>(); Shell32.Shell sh = new Shell32.Shell();
Folder dir = sh.NameSpace(Path.GetDirectoryName(strPath));
FolderItem item = dir.ParseName(Path.GetFileName(strPath));
for (int i = -1; i < 50; i++)
{
// 0检索项的名称。
// 1检索项的大小。
// 2检索条目的类型。
// 3检索项最后修改日期和时间。
// 4检索项的属性。
// -1项检索信息提示信息。
fileInfoArr.Add(dir.GetDetailsOf(item, i));
}
return fileInfoArr;
}
}

C#处理Android Audio and Video的更多相关文章

  1. Wechat 微信端正确播放audio、video的姿势

    在开发微信项目时,有在项目中播放音频(audio)和视频(video)的需求: 在开发中,我们会遇到的问题 audio.video在Android和IOS系统上的兼容性: video播放完成后,跳出浏 ...

  2. Android之Audio和Video

    The Android platform offers built-in encoding/decoding for a variety of common media types, so that ...

  3. android surfaView surfaHolder video 播放

    主文件 package cn.com.sxp;import android.app.Activity;import android.media.AudioManager;import android. ...

  4. 【转】解决chrome浏览器不支持audio和video标签的autoplay自动播放

    声音无法自动播放这个在 IOS/Android 上面一直是个惯例,桌面版的 Safari 在 2017 年的 11 版本也宣布禁掉带有声音的多媒体自动播放功能,紧接着在 2018 年 4 月份发布的 ...

  5. HTML5 audio与video标签实现视频播放,音频播放

    随着互联网的飞速发展以及HTML5的应用,越来越多的项目中用到video,audio当常用标签. <audio> 标签属性 <audio src="song.mp3&quo ...

  6. audio和video元素

    目录 [1]HTML元素 audio video source track[2]API 方法 属性 事件 audio专有 前面的话 HTML5新增了两个与媒体相关的标签,让开发人员不必依赖任何插件就能 ...

  7. 代码验证浏览器是否支持html audio 和video

    <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...

  8. HTML5 Audio and Video 的新属性简介

    前言:HTML5 中 Audio and Video的使用方法比较简单,但就是比较复杂,方法属性多.如果不常用的几乎难以记住,甚至有些人难以区分不同属性和方法的作用,更别说应用了.以下对Audio a ...

  9. Android Audio遇到播放无声时的分析

    在Android Audio开发过程中,有遇到播放ringtone时无声,但播放Music可以听到声音,关于无声问题的分析,在此做个笔记,方便以后回顾. 分析方向: 1:在音量控制面板中确认该音频流对 ...

随机推荐

  1. 3种方法判断手机浏览器跳转WAP手机网站

    随着移动设备的普及,企业的网络宣传已经不能局限在PC端,而需要同时在移动端有所建树.对于公司网站来说,以前都是做的PC端的,当然手机等移动端也可以访问,但是用户体验肯定不如完全适合的手机端来的方便.我 ...

  2. 2013级新生程序设计基础竞赛-正式赛 F 异或最大值 解题报告

    F - 异或最大值 Time Limit: 2000/1000MS (Java/Others)      Memory Limit: 128000/64000KB (Java/Others) Subm ...

  3. 一步一步学Silverlight 2系列(27):使用Brush进行填充

    概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...

  4. hdu 4544 湫湫系列故事——消灭兔子(优先队列)

    题意:n只兔子(有血量),m只箭(有伤害.花费),每只兔子只能被射一次,求射死所有兔子的最少花费. 思路:贪心,2重循环,兔子从血量高到低,箭从伤害高到低,用能射死兔子的箭中花费最小的箭射. #inc ...

  5. 什么是Intent

    Intent负责在应用程序的主要部件——活动,服务,广播接收器(处理Android消息)之间传递消息的信使对象 Intent是对要执行的操作的一种抽象的描述,它除了指定一个动作之外,Intent对象还 ...

  6. MFC显示Mat图片

    Opencv在1.0时代,在MFC框架上显示图片可以通过Cvvimage类里的DrawPicToHDC( IplImage *img, UINT ID)方法方便的显示出来,当然当时使用的还是IpIIm ...

  7. Windows命令行bat批处理延迟sleep方法

    使用ping 的定时功能,精度1秒 实战:创建示例文件test.bat,内容如下: 代码如下:ping -n 3 127.0.0.1>nul 说明:3为ping包发送次数,可作为延迟秒数进行使用 ...

  8. robotframework:appium切换webview后,在webview里滑动屏幕

    问题: 在用robot写手机淘宝app的自动化时,打开手机淘宝后,点击天猫国际,跳转到天猫国际页面,天猫国际页面是H5, 需要切换到对应的webview,切换到webview后,点击美妆菜单,跳转到美 ...

  9. 任务48:Identity MVC:Model后端验证

    任务48:Identity MVC:Model后端验证 RegisterViewModel using System; using System.Collections.Generic; using ...

  10. UVaLive 6585 && Gym 100299F Draughts (暴力+回溯)

    题意:给定一个 10*10的矩阵,每一个W可以跳过一个B向对角走到#并把B吃掉,并且可以一直跳直到不能动为止,现在是W走的时候,问你最多吃几个B. 析:直接暴力+回溯,深搜就好. 代码如下: #pra ...