资源简介

音频采集端(麦克风)采集的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


评论

共有 条评论