资源简介
音频采集端(麦克风)采集的speex音频,转成pcm,pcm转成aac,也可直接由speex转成aac,另加了一个链表的类。可直接编译使用。speex转pcm,pcm转aac,speex转aac
代码片段和文件信息
/*************************************************************************
Copyright (C) 2012 Shanghai Surfing
All Rights Reserved
R&D Dept.
*************************************************************************/
/*************************************************************************
Filename: basic_func.cpp
Description: basic Function Define Source File.
Author: gaoyang
Date: 2012-11-17
Version: V1.0.0
Modified:
*************************************************************************/
#include “basic_func.h“
using namespace pure_baselib;
using namespace pure_livegw;
CBasic_func::CBasic_func()
{
m_port =0;
memset(m_ipaddr0MAX_HEADER_SIZE);
m_client_fd=NULL;
m_phostent=NULL;
m_bconnected=false;
}
CBasic_func::~CBasic_func()
{
}
//A-Za-z0-9这些字符的识别
s32 CBasic_func::hex_it(s8 c)
{
if (c >= ‘0‘ && c <= ‘9‘)
return c - ‘0‘;
else if (c >= ‘a‘ && c <= ‘f‘)
return c - ‘a‘ + 10;
else if (c >= ‘A‘ && c <= ‘F‘)
return c - ‘A‘ + 10;
else
return 0;
}
//字符检查,看送进来的一行请求信息是否合法
s32 CBasic_func::sanitize_file(const s8 *i_pbuf)
{
s32 len i;
//Don‘t accept anything not starting with a /
if (*i_pbuf != ‘/‘)
return 0;
len = strlen(i_pbuf);
for (i = 0; i < len; i++)
{
//Check for “/.“ i.e. don‘t send files starting with a .
if (i_pbuf[i] == ‘/‘ && i_pbuf[i+1] == ‘.‘)
return 0;
}
return 1;
}
//字符检查,返回host地址。
s32 CBasic_func::sanitize_host(s8 *i_pbuf)
{
while (*i_pbuf != ‘\0‘)
{
//Handle the port
if (*i_pbuf == ‘:‘)
{
*i_pbuf = ‘\0‘;
return 1;
}
//Enforce some basic URL rules...
if ((isalnum(*i_pbuf) == 0 && *i_pbuf != ‘-‘ && *i_pbuf != ‘.‘) ||(*i_pbuf == ‘.‘ && *(i_pbuf+1) == ‘.‘) ||
(*i_pbuf == ‘.‘ && *(i_pbuf+1) == ‘-‘) ||(*i_pbuf == ‘-‘ && *(i_pbuf+1) == ‘.‘))
return 0;
i_pbuf++;
}
return 1;
}
//封装了strncpy()防止出现非‘\0‘结尾的字符串带来的问题
s8 *CBasic_func::my_strncpy(s8 *o_pdest const s8 *i_psrc size_t n)
{
strncpy(o_pdest i_psrc n);
o_pdest[n-1] = ‘\0‘;
return o_pdest;
}
//socket 读写函数
s32 CBasic_func::special_read(s32 i_fd void *i_pbuf size_t i_count)
{
s32 res;
res = read(i_fd i_pbuf i_count);//
return res;
}
s32 CBasic_func::special_write(s32 i_fdconst s8 *i_pbuf size_t i_count)
{
return write(i_fd i_pbuf i_count);//
}
//判断tpbuf代表的路径是否是目录
s32 CBasic_func::isdir(const s8 *i_pbuf)
{
//printf(“%s %d i_pbuf=%s\n“__func____LINE__i_pbuf);
struct stat st;
s8 path[MAXREQUESTLENGTH];
strcpy(path i_pbuf);
if (stat(path &st) == -1)
{
//printf(“%s %d not dir\n“__func____LINE__);
return 0;
}
if ((st.st_mode & S_IFMT) == S_IFDIR)
{
//printf(“%s %d is dir\n“__func____LINE__);
return 1;
}
return 0;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1076 2013-01-15 10:47 speex2aac\makefile
文件 162392 2013-01-09 22:39 speex2aac\full.spx
....... 29984 2013-01-15 10:50 speex2aac\obj\basic_func.o
....... 63312 2013-01-15 10:50 speex2aac\obj\pure_speex.o
....... 21752 2013-01-15 10:50 speex2aac\obj\mem_pool.o
文件 9883 2012-12-22 12:01 speex2aac\src\mem_pool.cpp
文件 26785 2013-01-15 10:48 speex2aac\src\pure_speex.cpp
文件 11843 2012-12-21 16:24 speex2aac\src\basic_func.cpp
....... 237348 2013-01-15 10:51 speex2aac\out.aac
文件 2491 2012-12-21 16:24 speex2aac\include\basic_func.h
文件 3168 2012-12-22 06:34 speex2aac\include\basic_type.h
文件 13011 2013-01-15 09:31 speex2aac\include\pure_speex.h
文件 717 2012-12-20 15:41 speex2aac\include\c_headers.h
文件 1799 2012-12-22 12:01 speex2aac\include\mem_pool.h
文件 4353 2012-12-22 06:38 speex2aac\include\basic_define.h
文件 77172 2013-01-15 10:50 speex2aac\sbin\speex_to_aac
目录 0 2013-01-15 10:50 speex2aac\obj
目录 0 2013-01-15 10:49 speex2aac\src
目录 0 2013-01-15 10:49 speex2aac\include
目录 0 2013-01-15 10:50 speex2aac\sbin
目录 0 2013-01-15 10:51 speex2aac
----------- --------- ---------- ----- ----
667086 21
相关资源
- Speex手册中文版
- 索尼SONY VPCM125JC网卡驱动程序 v6.0.14
- 音频测试文件pcmmp3aacamrg711ag711u等多种
- G726、G711、G711A转换为AAC
- ffmpeg之pcm转AAC
- (补充)修改output-example,将H.264AAC帧
- 基于FFmpeg4.0.2的AAC编码器
- Windows下使用FFMPEG解码AAC文件并使用
- 最简单的基于FFMPEG的音频编码器 1.1
- 嵌入式音频视频混合为mp4(mp4v2+faac
- mp3文件转成pcm格式
- 易语言PCM文件转换源码
- 内存H264+PCM发布rtmp.rar
- .aac音频文件
- 使用gpac封装MP4源码(新)
- aac格式音频
- hi3516a音频解码音频编解码库
- stm32F103与PCM5102A与Helix软解播放MP3
- QQPCMgr.7z
- 如何使用mp4v2将H264+AAC裸流录制成mp4文
- PcModWin4.0操作指南
- libmad mp3软解码
- pcm-g711a-采集器-播放器 源代码
- PCM时分复用电路的设计与仿真
- PcMODWin40
- 音频采集编码pcm到aac
- PCM编码实验系统的设计和实现
- 实验1:PCM5102播放SD卡音乐STM32F103ZET
- Verilog编写的采集PCM1750串行输出的代码
- PCM格式音乐文件音频文件
评论
共有 条评论