C#处理Android Audio and Video
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的更多相关文章
- Wechat 微信端正确播放audio、video的姿势
在开发微信项目时,有在项目中播放音频(audio)和视频(video)的需求: 在开发中,我们会遇到的问题 audio.video在Android和IOS系统上的兼容性: video播放完成后,跳出浏 ...
- Android之Audio和Video
The Android platform offers built-in encoding/decoding for a variety of common media types, so that ...
- android surfaView surfaHolder video 播放
主文件 package cn.com.sxp;import android.app.Activity;import android.media.AudioManager;import android. ...
- 【转】解决chrome浏览器不支持audio和video标签的autoplay自动播放
声音无法自动播放这个在 IOS/Android 上面一直是个惯例,桌面版的 Safari 在 2017 年的 11 版本也宣布禁掉带有声音的多媒体自动播放功能,紧接着在 2018 年 4 月份发布的 ...
- HTML5 audio与video标签实现视频播放,音频播放
随着互联网的飞速发展以及HTML5的应用,越来越多的项目中用到video,audio当常用标签. <audio> 标签属性 <audio src="song.mp3&quo ...
- audio和video元素
目录 [1]HTML元素 audio video source track[2]API 方法 属性 事件 audio专有 前面的话 HTML5新增了两个与媒体相关的标签,让开发人员不必依赖任何插件就能 ...
- 代码验证浏览器是否支持html audio 和video
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...
- HTML5 Audio and Video 的新属性简介
前言:HTML5 中 Audio and Video的使用方法比较简单,但就是比较复杂,方法属性多.如果不常用的几乎难以记住,甚至有些人难以区分不同属性和方法的作用,更别说应用了.以下对Audio a ...
- Android Audio遇到播放无声时的分析
在Android Audio开发过程中,有遇到播放ringtone时无声,但播放Music可以听到声音,关于无声问题的分析,在此做个笔记,方便以后回顾. 分析方向: 1:在音量控制面板中确认该音频流对 ...
随机推荐
- Redis使用基本套路
Redis的数据,通常都是来自于数据库. 存入Redis当中,可以快速的查询.不用每次都关联查询,然后其他处理什么的. 通常可以把一些,不经常变的数据存储其中. 避免数据变动,而Redis缓存数据不变 ...
- Silverlight中使用MVVM(2)
Silverlight中使用MVVM(1)--基础 Silverlight中使用MVVM(2)—提高 Silverlight中使用MVVM(3)—进阶 Silverlight中使用MVVM(4)—演练 ...
- HDU - 1269 迷宫城堡(有向图的强连通分量)
d.看一个图是不是强连通图 s.求出强连通分量,看看有没有一个强连通分量包含所有点. c.Tarjan /* Tarjan算法 复杂度O(N+M) */ #include<iostream> ...
- HBase集群出现NotServingRegionException问题的排查及解决方法
HBase集群在读写过程中,可能由于Region Split或Region Blance等导致Region的短暂下线,此时客户端与HBase集群进行RPC操作时会抛出NotServingRegionE ...
- 书写优雅的shell脚本(一)- if语句
使用unix/linux的程序人员几乎都写过shell脚本,但这其中很多人都是为了完成功能而在网上找代码段,这样写出来的shell脚本在功能方面当然是没有什么问题,但是这样的方式不能写出优雅的shel ...
- Android Studio下载安装
官方下载地址:https://developer.android.google.cn/studio#downloads 因为安卓自带的模拟器会比较慢一些,这里勾选去掉,我们使用夜神模拟器. 这里根据自 ...
- YCOJ黑熊过河
Description 有一只黑熊想过河,但河很宽,黑熊不会游泳,只能借助河面上的石墩跳过去,他可以一次跳一墩,也可以一次跳两墩,但是每起跳一次都会耗费一定的能量,黑熊最终可能因能量不够而掉入水中,所 ...
- 安装 synaptic on ubuntu 18
apt的图形化界面管理 sudo apt install synaptic 安装后使用需要注意的是 如果打开了synaptic,终端中apt命令某些是没法正常用的,比如说apt remove,应该是锁 ...
- 统计Apache或nginx日志里访问次数最多的前十个IP
1.根据访问IP统计UV awk '{print $1}' access.log|sort | uniq -c |wc -l 2.统计访问URL统计PV awk '{print $7}' access ...
- Centos 内存释放
原因:最近发现服务器老师提示内存不足的警报,很多时候内存都占用百分之80以上,查看运行的服务似乎并没有占用很大的内存,top查看运行的服务,然后按shift+m排名第一的才百分之1.x,看了别人的博客 ...