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

  • 大小: 13.66MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2024-01-29
  • 語言: 其他
  • 標簽:

資源簡介

本程序實現采集麥克風音頻數據,壓制為aac

資源截圖

代碼片段和文件信息

/*
*最簡單的錄音程序
*繆國凱?MK
*821486004@qq.com
*本程序實現采集麥克風音頻數據,壓制為aac
*2015-6-19
*/


#include?“stdafx.h“
#include?
#include?
#include?
#pragma?comment(lib“Strmiids“)
#pragma?comment(lib“comsuppw.lib“)
#include?
#pragma?comment(lib“winmm“)
#define SAFE_RELEASE(x) {if(x?!=?NULL)?x->Release();x=NULL;}

#ifdef?__cplusplus
extern?“C“
{
#endif
#include?“libavcodec/avcodec.h“
#include?“libavformat/avformat.h“
#include?“libswscale/swscale.h“
#include?“libavdevice/avdevice.h“
#include?“libavutil/audio_fifo.h“

#pragma?comment(lib?“avcodec.lib“)
#pragma?comment(lib?“avformat.lib“)
#pragma?comment(lib?“avutil.lib“)
#pragma?comment(lib?“avdevice.lib“)
#pragma?comment(lib?“avfilter.lib“)
//#pragma?comment(lib?“postproc.lib“)
//#pragma?comment(lib?“swresample.lib“)
//#pragma?comment(lib?“swscale.lib“)
#ifdef?__cplusplus
};
#endif

_bstr_t strDeviceName;

static?char?*dup_wchar_to_utf8(wchar_t?*w);

int?_tmain(int?argc?_TCHAR*?argv[])
{
AVFormatContext * pFmtCtx?=?NULL?*ofmt_ctx_a?=?NULL;
AVInputFormat * pAudioInputFmt?=?NULL;
AVOutputFormat * pAudioOutputFmt?=?NULL;
AVStream * pAudioStream?=?NULL;
AVCodecContext * pOutputCodecCtx?=?NULL;
AVCodecContext * pInputCodecCtx?=?NULL;
AVCodec * pCodec?=?NULL;
AVframe * pAudioframe?=?NULL;
uint8_t * pframeBuffer?=?NULL;
int iAudioIndex?=?-1;
//注冊FFMPEG庫
av_register_all();
avdevice_register_all();

//查找輸入方式
pAudioInputFmt?=av_find_input_format(“dshow“);
assert(pAudioInputFmt?!=?NULL);
//以Direct?Show的方式打開設備,并將?輸入方式?關聯到格式上下文
char?*?psDevName?=?dup_wchar_to_utf8(L“audio=麥克風?(Realtek?High?Definition?Au“);
assert(avformat_open_input(&pFmtCtxpsDevNamepAudioInputFmtNULL)?==?0);

// avformat_find_stream_info(pFmtCtxNULL);

if(avformat_find_stream_info(pFmtCtxNULL)<0)??
return?-1;?

for(int?i=0;?inb_streams;?i++)?
{
if(pFmtCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_AUDIO)
{
iAudioIndex=i;
AVCodec?*tmpCodec?=?avcodec_find_decoder(pFmtCtx->streams[i]->codec->codec_id);
if(0?>?avcodec_open2(pFmtCtx->streams[i]->codec?tmpCodec?NULL))
{
printf(“can?not?find?or?open?decoder!\n“);
}

break;
}
}

av_dump_format(pFmtCtx?0?NULL?0);



avformat_alloc_output_context2(&ofmt_ctx_a?NULL?NULL?“abc.aac“);

pAudioStream?=?avformat_new_stream(ofmt_ctx_a?NULL);
pAudioStream->codec->codec?=?avcodec_find_encoder(ofmt_ctx_a->oformat->audio_codec);

pOutputCodecCtx?=?pAudioStream->codec;

pOutputCodecCtx->sample_rate?=?pFmtCtx->streams[0]->codec->sample_rate;
pOutputCodecCtx->channel_layout?=?ofmt_ctx_a->streams[0]->codec->channel_layout;
pOutputCodecCtx->channels?=?av_get_channel_layout_nb_channels(pAudioStream->codec->channel_layout);
if(pOutputCodecCtx->channel_layout?==?0)
{
pOutputCodecCtx->channel_layout?=?AV_CH_LAYOUT_STEREO;
pOutputCodecCtx->channels?=?av_get_channel_layout_nb_c

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-06-19?15:33??AudioCapture\
?????目錄???????????0??2015-06-19?15:23??AudioCapture\AudioCapture\
?????文件?????????903??2015-06-16?14:09??AudioCapture\AudioCapture.sln
?????文件???????16896??2015-06-19?15:33??AudioCapture\AudioCapture.suo
?????文件??????112133??2015-06-19?15:23??AudioCapture\AudioCapture\abc.aac
?????文件????????8760??2015-06-19?15:32??AudioCapture\AudioCapture\AudioCapture.cpp
?????文件????????4481??2015-06-16?14:12??AudioCapture\AudioCapture\AudioCapture.vcxproj
?????文件????????1336??2015-06-16?14:09??AudioCapture\AudioCapture\AudioCapture.vcxproj.filters
?????文件?????????143??2015-06-16?14:09??AudioCapture\AudioCapture\AudioCapture.vcxproj.user
?????文件?????????165??2015-06-16?14:09??AudioCapture\AudioCapture\AudioCapture1.cpp
?????文件????18936320??2014-05-06?10:08??AudioCapture\AudioCapture\avcodec-55.dll
?????文件?????1340928??2014-05-06?10:08??AudioCapture\AudioCapture\avdevice-55.dll
?????文件?????2034688??2014-05-06?10:08??AudioCapture\AudioCapture\avfilter-4.dll
?????文件?????5342720??2014-05-06?10:08??AudioCapture\AudioCapture\avformat-55.dll
?????文件??????418304??2014-05-06?10:08??AudioCapture\AudioCapture\avutil-52.dll
?????目錄???????????0??2015-06-19?15:27??AudioCapture\AudioCapture\Debug\
?????文件?????????406??2015-06-16?14:13??AudioCapture\AudioCapture\Debug\AudioCapture.exe.embed.manifest
?????文件?????????472??2015-06-16?14:13??AudioCapture\AudioCapture\Debug\AudioCapture.exe.embed.manifest.res
?????文件?????????381??2015-06-19?15:27??AudioCapture\AudioCapture\Debug\AudioCapture.exe.intermediate.manifest
?????文件??????????92??2015-06-19?15:27??AudioCapture\AudioCapture\Debug\AudioCapture.lastbuildstate
?????文件????????2952??2015-06-19?15:27??AudioCapture\AudioCapture\Debug\AudioCapture.log
?????文件???????87250??2015-06-19?15:27??AudioCapture\AudioCapture\Debug\AudioCapture.obj
?????文件???????88039??2015-06-16?14:28??AudioCapture\AudioCapture\Debug\audiocapture.obj.enc
?????文件?????1114112??2015-06-16?14:12??AudioCapture\AudioCapture\Debug\AudioCapture.pch
?????文件?????????713??2015-06-16?14:11??AudioCapture\AudioCapture\Debug\AudioCapture.vcxprojResolveAssemblyReference.cache
?????文件???????????0??2015-06-16?14:11??AudioCapture\AudioCapture\Debug\AudioCapture.write.1.tlog
?????文件?????????214??2015-06-16?14:12??AudioCapture\AudioCapture\Debug\AudioCapture_manifest.rc
?????文件????????1662??2015-06-19?15:27??AudioCapture\AudioCapture\Debug\cl.command.1.tlog
?????文件???????26936??2015-06-19?15:27??AudioCapture\AudioCapture\Debug\CL.read.1.tlog
?????文件???????19762??2015-06-19?15:27??AudioCapture\AudioCapture\Debug\CL.read.2.tlog
?????文件????????2282??2015-06-19?14:57??AudioCapture\AudioCapture\Debug\CL.read.3.tlog
............此處省略171個文件信息

評論

共有 條評論

相關資源