资源简介
音频采集端(麦克风)采集的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
相关资源
- 利用windows api采集麦克风音频并播放
- Qt播放PCM音频裸流文件
- 使用AudioRecord进行录音 获取录音字节
- pcm文件 16K采样率
- PCM仿真均匀量化、非均匀量化及A律
- PCM编译码.zip
- speexdec mac 可执行程序
- PCMan-FTP+溢出脚本
- 音频文件包含 pcm、wav、amr、m4a 共4个
- 将wav格式转换为PCM格式
- Qt之实现录音播放及rawpcm转wav格式
- PCM相互转换WAV
- verilog实现的PCM模块
- QT实现wav音频文件读写
- pcm-g711a-采集器-播放器
- 一个DPCM的源代码
- 开源Speex中的回声消除程序构筑
- 海思g711a格式音频生成工具
- Speex 库在 STM32F103xxxSTM32F101xxx 上使用的
- 使用mp4v2将H264+AAC合成mp4
- PCM编解码程序(模拟信号抽样)
- 2e3460f894390064a17aedaac2d31b16.txt
- ICAO ANEX11 icao 附件11
- 基于STM32F030的PCM5242 miniDSP驱动配置
- protel99se原创电路图PCB图 PCM语音编解码
- 图像处理实验DPCM
- PCM编解码实验
- 基于vhdl的pcm编解码
- gpac库把H265与AAC封装成MP4的接口新
- 在windows7下编译speex的详细过程
评论
共有 条评论