91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

這個代碼可以實時錄制聲卡或者麥克風,并重新采集為44100,FLTP,然后保存為test44100.pcm,可以使用ffplay播放。

資源截圖

代碼片段和文件信息

//?audiocap.cpp?:?定義控制臺應用程序的入口點。
//

#include?“stdafx.h“
#include?“AudioCapT.h“
#include?

extern?“C“
{
#include?
#include?
#include?
#include?
#include?
#include?
}

#include?
using?namespace?std;
#pragma?comment(lib“avformat.lib“)
#pragma?comment(lib“avcodec.lib“)
#pragma?comment(lib“avutil.lib“)
#pragma?comment(lib“swscale.lib“)
#pragma?comment(lib“swresample.lib“)

bool?FillFltpSample(double?*dst?int?nb_samples?int?nb_channels?char?*?pPcmBuffer?int?nPcmBufLen)
{
int?nTotal?=?nb_samples*nb_channels?*?4;

if?(!dst?||?!pPcmBuffer)
return?false;

memset(dst?0?nb_samples*nb_channels?*?4);

int?nTmp?=?0;

if?(nTotal?>=?nPcmBufLen)
{
nTmp?=?nPcmBufLen;
}
else
{
nTmp?=?nTotal;
}

memcpy(dst?pPcmBuffer?nTmp);

return?true;
}


int?_tmain(int?argc?_TCHAR*?argv[])
{
int64_t?src_ch_layout?=?av_get_default_channel_layout(2)?dst_ch_layout?=?AV_CH_LAYOUT_STEREO;
int?src_rate?=?48000?dst_rate?=?44100;
uint8_t?**src_data?=?NULL?**dst_data?=?NULL;
int?src_nb_channels?=?0?dst_nb_channels?=?0;
int?src_linesize?dst_linesize;
int?src_nb_samples?=?1024?dst_nb_samples?max_dst_nb_samples;
enum?AVSampleFormat?src_sample_fmt?=?AV_SAMPLE_FMT_FLT?dst_sample_fmt?=?AV_SAMPLE_FMT_S16;
const?char?*?pszDstFileName?=?“D:\\test44100.pcm“;
FILE?*?fDstFile?=?NULL;
int?nDstBufSize?=?0;
const?char?*?strFmt?=?NULL;
struct?SwrContext?*?swr_ctx?=?NULL;
int?nRet?=?0;

CAudioCapT?ac;

CoInitialize(NULL);

av_register_all();

avcodec_register_all();

fDstFile?=?fopen(pszDstFileName?“wb“);
if?(!fDstFile)?{
printf(“open?file?failed.\n“);
return?-1;
}

//創建重采樣上下文

swr_ctx?=?swr_alloc();
if?(!swr_ctx)?
{
printf(“swr_alloc?failed.\n“);
goto?end;
}

av_opt_set_int(swr_ctx?“in_channel_layout“?src_ch_layout?0);
av_opt_set_int(swr_ctx?“in_sample_rate“?src_rate?0);
av_opt_set_sample_fmt(swr_ctx?“in_sample_fmt“?src_sample_fmt?0);
av_opt_set_int(swr_ctx?“out_channel_layout“?dst_ch_layout?0);
av_opt_set_int(swr_ctx?“out_sample_rate“?dst_rate?0);
av_opt_set_sample_fmt(swr_ctx?“out_sample_fmt“?dst_sample_fmt?0);


if?((nRet?=?swr_init(swr_ctx))? {
printf(“Failed?to?initialize?the?resampling?context\n“);
goto?end;
}

src_nb_channels?=?av_get_channel_layout_nb_channels(src_ch_layout);

nRet?=?av_samples_alloc_array_and_samples(&src_data?&src_linesize?src_nb_channels
src_nb_samples?src_sample_fmt?0);

if?(nRet? {
printf(“Could?not?allocate?source?samples\n“);
goto?end;
}

max_dst_nb_samples?=?dst_nb_samples?=?av_rescale_rnd(src_nb_samples?dst_rate?src_rate?AV_ROUND_UP);
dst_nb_channels?=?av_get_channel_layout_nb_channels(dst_ch_layout);
nRet?=?av_samples_alloc_array_and_samples(&dst_data?&dst_linesi

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????5904??2018-07-10?15:16??audiocap\audiocap\audiocap.cpp

?????文件???????4778??2018-07-09?10:51??audiocap\audiocap\audiocap.vcxproj

?????文件???????1499??2018-07-05?15:48??audiocap\audiocap\audiocap.vcxproj.filters

?????文件???????7927??2018-07-10?11:45??audiocap\audiocap\AudioCapT.cpp

?????文件???????1293??2018-07-09?14:58??audiocap\audiocap\AudioCapT.h

?????文件???????1517??2018-07-04?12:13??audiocap\audiocap\ReadMe.txt

?????文件????????214??2018-07-04?12:13??audiocap\audiocap\stdafx.cpp

?????文件????????234??2018-07-04?12:13??audiocap\audiocap\stdafx.h

?????文件????????236??2018-07-04?12:13??audiocap\audiocap\targetver.h

?????文件????????970??2018-07-04?12:13??audiocap\audiocap.sln

?????文件?????????43??2018-07-06?14:26??audiocap\播放命令.txt

?????目錄??????????0??2018-07-10?15:27??audiocap\audiocap

?????目錄??????????0??2018-07-10?15:26??audiocap

-----------?---------??----------?-----??----

????????????????24615????????????????????13


評論

共有 條評論