Wav音频文件剪切指定片段(限PCM格式)

news/2024/11/23 13:36:04/
  /// <summary>/// 读取wav文件然后剪切/// </summary>/// <param name="inPath">目标文件</param>/// <param name="outPath">输出文件</param>/// <param name="cutFromStart">开始时间</param>/// <param name="cutFromEnd">结束时间</param>public  void TrimWavFile(string inPath, string outPath, TimeSpan cutFromStart, TimeSpan cutFromEnd){using (WaveFileReader reader = new WaveFileReader(inPath)){using (WaveFileWriter writer = new WaveFileWriter(outPath, reader.WaveFormat)){int bytesPerMillisecond = reader.WaveFormat.AverageBytesPerSecond / 1000;int startPos = (int)cutFromStart.TotalMilliseconds * bytesPerMillisecond;startPos = startPos - startPos % reader.WaveFormat.BlockAlign;int endBytes = (int)cutFromEnd.TotalMilliseconds * bytesPerMillisecond;endBytes = endBytes - endBytes % reader.WaveFormat.BlockAlign;//int endPos = (int)reader.Length - endBytes;TrimWavFile(reader, writer, startPos, endBytes);}}}/// <summary>/// 重新合并wav文件/// </summary>/// <param name="reader">读取流</param>/// <param name="writer">写入流</param>/// <param name="startPos">开始流</param>/// <param name="endPos">结束流</param>private static void TrimWavFile(WaveFileReader reader, WaveFileWriter writer, int startPos, int endPos){reader.Position = startPos;byte[] buffer = new byte[1024];while (reader.Position < endPos){int bytesRequired = (int)(endPos - reader.Position);if (bytesRequired > 0){int bytesToRead = Math.Min(bytesRequired, buffer.Length);int bytesRead = reader.Read(buffer, 0, bytesToRead);if (bytesRead > 0){writer.WriteData(buffer, 0, bytesRead);}}}}

导入NAudio.dll 

下载https://download.csdn.net/download/qq_33670936/10548691


http://www.ppmy.cn/news/624110.html

相关文章

免费将手机游戏低延迟投屏到电脑上玩

目前市面上有很多投屏软件&#xff0c;要么收费&#xff0c;要么高延迟&#xff0c;要么带水印&#xff0c;能有多坑就有多坑&#xff0c;本人来分享一个低延迟、免费、无水印的投屏软件----Lenovo One Lite。该软件是联想的&#xff0c;下载地址:https://one.lenovo.com/downl…

开启xmp1还是2_英雄联盟手游高帧率模式怎么开启-高帧率模式开启方法

英雄联盟手游高帧率模式怎么开启?高帧率指的就是60hz和120hz这种的&#xff0c;如何开启高帧率呢?在游戏中如何设置呢?下面安致网小编为大家介绍下英雄联盟手游高帧模式开启方法。 英雄联盟手游高帧率模式开启方法&#xff1a; 1、首先玩家们在登录进入英雄联盟手游后&#…

VLC播放画质延迟改善方法

前几天写的android录制视频h263编码通过rtp打包&#xff0c;服务器接收数据并转发&#xff0c;VLC通过rtsp协议请求服务器播放画质较差。后来通过以下方法改善了下画质质量以及延迟。 1、设置合适的帧率&#xff0c;在这里使用24帧每秒。一般来说&#xff0c;这个值较大&#x…

FL STUDIO水果编曲20.8mac/ Windows应用

FL STUDIO 中文20.8macOS / Windows应用程序 在您的平板电脑或Chromebook上创建并保存完整的多轨道音乐项目。录制、排序、编辑、混合和呈现完整的歌曲。功能亮点录音、音轨长度主干/wav导入使用预览*效果模块浏览样本和预设(请参见包含的内容)全屏DeX和Chromebook触控、触控板…

恒定帧率30帧以上录制掉帧问题分析

一、背景 录制30帧以上游戏画面&#xff0c;输出恒定帧率60帧视频文件出现掉帧 二、分析 经测试&#xff0c;ffmpeg动态帧率转恒定帧率不会有问题&#xff0c;因此&#xff0c;可能可以把ffmpeg的插帧逻辑移植过来。 1、 ffmpeg补帧逻辑 获取解码后的pkt -----> 拿到pkt_…

可以让你录制fps高达60帧数的高质量的视频格式

Movavi Screen Recorder可以让你录制fps高达60帧数的高质量的视频格式&#xff0c;并为你提供显示光标&#xff0c;突出显示光标&#xff0c;视频分享以及编辑等功能&#xff0c;其内置海量的滤镜和特效可以调整美化你所录制的视频。本软件测试环境10.15.7系统&#xff01; M…

android 视频处理60帧,如何导出60帧视频,让视频画面流畅无比

原标题&#xff1a;如何导出60帧视频&#xff0c;让视频画面流畅无比 随着技术的发展&#xff0c;60帧视频被广泛应用&#xff0c;但由于一些剪辑软件不支持导出60帧视频&#xff0c;不能满足广大视频制作者的需求。如果想要导出60帧视频&#xff0c;让视频画面流畅无比&#x…

无限提高视频fps

目录 加速还是补帧&#xff1f;opencv脚本使用软件剪辑工具格式工厂PR、AE oCam录屏基于AI算法DAIN_APP_Alpha0.40SVFI.2.1 结语 加速还是补帧&#xff1f; 最近做项目遇到一个需求&#xff0c;需要对AI推理卡的性能做一个测试&#xff0c;主要是想通过流水线&#xff08;线程…