wavin flag

更新时间:2023-01-03 21:35:34 阅读: 评论:0


2023年1月3日发(作者:脸部快速美白的方法)

c#NAudio录⾳功能实现

c#NAudio录⾳功能实现

在⽹上找了很多类似录⾳教程效果都不好,或根本不能录⾳,代码由⽹上借鉴修改(完整实现录⾳播放功能)

NAudio

NAudio功能强⼤,且其⼊门容易。

强⼤在于:它⽀持许多⾳频操作,可实现多种API播放与录制、多种不同⾳频格式、⾳频格式转换(重采样、位深、声道等)、⾳频编码、

多通道播放、⾳频效果处理等等(详细介绍可以看Githubreadme)。

新建RecordController

⾸先新建引⽤类RecordController

publicclassRecordController

{

publicWaveInmWavIn;

publicWaveFileWritermWavWriter;

///

///开始录⾳

///

///

publicvoidStartRecord(stringfilePath)

{

mWavIn=newWaveIn();

ailable+=MWavIn_DataAvailable;

//ingStopped+=MWavIn_RecordingStopped;有冲突

mWavWriter=newWaveFileWriter(filePath,rmat);

ecording();

}

///

///停⽌录⾳

///

publicvoidStopRecord()

{

mWavIn?.StopRecording();

mWavIn?.Dispo();

mWavIn=null;

mWavWriter?.Clo();

mWavWriter=null;

}

//这个⽅法在调⽤关闭时会有冲突

privatevoidMWavIn_RecordingStopped(objectnder,StoppedEventArg)

{

//mWavIn?.Dispo();

//mWavIn=null;

//mWavWriter?.Clo();

//mWavWriter=null;

}

privatevoidMWavIn_DataAvailable(objectnder,WaveInEventArg)

{

(,0,ecorded);

intcondsRecorded=(int)/eBytesPerSecond;

}

}

使⽤

在主界⾯引⽤RecordControllerrecord=newRecordController();

///

///⽿机sidetone测试

///

///

publicvoidSidetone(inti)

{

string[]row=getlistviewitem(i);

ecord("e:");

if(("正在录⾳,点击是播放录⾳","提⽰",,ation)==)

{

cord();

ErrorFlag=fal;

row[6]="FAIL";

}el

{

cord();

stringpath="e:";

//.wav⾳频⽂件路径

layerplayer=layer(path);

();

if(("是否有录⾳","提⽰",,ation)==)

{

ErrorFlag=fal;

row[6]="FAIL";

}el

{

ErrorFlag=true;

row[5]="OK";

row[6]="PASS";

}

}

listupdate(row,i);

}

完成代码后测试是能正常录⾳

本文发布于:2023-01-03 21:35:34,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/86658.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:蓝调天后
下一篇:甲客族
标签:wavin flag
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图