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. RPi 2B DDNS 动态域名

    /**************************************************************************** * RPi 2B DDNS 动态域名 * 说 ...

  2. 【BZOJ 3884】 上帝与集合的正确用法

    [题目链接] 点击打开链接 [算法] 通过欧拉拓展定理,列出递推公式 [代码] #include<bits/stdc++.h> using namespace std; typedef l ...

  3. bzoj1097

    最短路+状压dp 肯定是状压dp 那么我们把k个点的单源最短路预处理出来,然后dp[i][j]表示状态为i,当前在j需要走的最短距离,给定的限制用状态压一下就行了 注意特判k=0的情况 #includ ...

  4. C:根据日期判断是一年的第几天、星期几

    W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D Y是年份数,D是这一天在这一年中的累积天数,也就是这一天在这一年中是第几天. 最好用的是蔡勒 ...

  5. word-break: break-all word-break:keep-all word-wrap: break-word三者的区别

    word-break属性:指定非CJK脚本的断行规则. 值 描述 normal 使用浏览器默认的换行规则. break-all 允许在单词内换行. keep-all 只能在半角空格或连字符处换行. w ...

  6. E20180423-hm

    disclosure  n. (发明等的) 公开; 泄露,揭露; 开诚布公的话; 被公开的事情,被披露的秘闻; alignment n. 结盟; 队列,排成直线; 校直,调整; [工] 准线; ali ...

  7. 鉴于spfa基础上的差分约束算法

    怎么搞?        1. 如果要求最大值      想办法把每个不等式变为标准x-y<=k的形式,然后建立一条从y到x权值为k的边,变得时候注意x-y<k =>x-y<=k ...

  8. cocos2d-html5基础

    1 环境搭建 版本Cocos2d-html5-v2.2,tomcat7.0 配置tomcat,然后直接解压Cocos2d-html5-v2.2.zip,访问解压后的根目录的index.html就可以看 ...

  9. 自己动手搭建SSM

    1.工具 apache-tomcat 7 apache-maven(后面详细讲!这东西我一开始也很懵逼) mysql 5以上的版本 navicat(有了这个就不用cmd了,可以直接显示数据库,如下图, ...

  10. bzoj 5019: [Snoi2017]遗失的答案【dp+FWT】

    满足GL的组合一定包含GL每个质因数最大次幂个最小次幂,并且能做限制这些数不会超过600个 然后质因数最多8个,所以可以状压f[s1][s2]为选s1集合满足最大限制选s2集合满足最小限制 dfs一下 ...