找回密码
 立即注册
搜索

本文来自

iOS开发交流区

iOS开发交流区

人已关注

请添加对本版块的简短描述

iOS-----视频监控:新功能需要对讲,手机端录音pcm转g711a发送给服务端。 ...

[复制链接]

1

主题

2

帖子

15

积分

新手上路

Rank: 1

积分
15
QQ
5313 糖糖兜 发表于 2018-5-16 23:21:33
pcm转g711a不会啊 ,,用到网上这个例子  不好使啊,,哪位仁兄做过这方面对讲啊,求助攻啊。
ps :我这是和c++混编, 这个是c++提供的结构体参数 //音频信号
struct TMSG_AUDIODATAGSM
: TMSG_HEADER
{
unsigned char Buffer[160];
TMSG_AUDIODATAGSM()
:TMSG_HEADER(MSG_AUDIODATAGSM)
{
memset(Buffer,0,160);
}
};

怎么把g711a数据给这个结构体的参数啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x




上一篇:监听到的键盘高度不一样
下一篇:textview换行之后位置问题
楼主热帖
kuxingseng 发表于 2018-5-17 00:51:57
不用这么麻烦

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

jewest 发表于 2018-5-17 00:52:35
还在么。求回复
回复

使用道具 举报

fangel 发表于 2018-5-17 02:03:20
请问各位解决了没?
回复

使用道具 举报

kumory 发表于 2018-5-17 02:58:56
?????兄弟这不等于没说吗??您有什么建议呢
回复

使用道具 举报

iamthewind 发表于 2018-5-17 03:01:11
iOS有硬变为g711a的吗??不懂啊,,兄弟别卖关子了,可有相关资料啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

wangleifei 发表于 2018-5-17 04:24:23
大兄弟我们同行啊,加个好友聊聊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

kinglily 发表于 2018-5-17 04:40:02
首先你要确定你为什么一定要g711a 能不能用其他编码方式
其次 你不用想了 如果用g711a 是必须用到第三方库,据我了解,g711a 应该有版权,所以苹果内部框架不可能集成此类编码

第三 g711a 作为语音编码压缩率并不高,并且音质也没什么优势,所以说来说去还是要回到你的业务需求上来,既然是对讲,那么只需要声,在不考虑码率以及网络状况的情况下,可以采用其他较为易用的语音编码格式/

如果实在是业务需要,那么你需要自己编译/下载ios 平台下的g711语音编码库,使用起来并不难,但是需要一定的c语言知识


最后 如果实在需要用到g711a 编码? 直接去itu官网下载对应的源码,然后拖到xcode 下编译即可 ,或者官网上已经提供了ios平台使用的静态库直接下载使用
回复

使用道具 举报

chowsiuyan 发表于 2018-5-17 04:40:07
//浏览端发送给采集端的G711a格式音频包
- (void)async_sendTalk:(NSString *)cameraID g711aData:(NSData *)g711aData{
    __weak MMTransforConnectManager * wself=self;
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        __strong MMTransforConnectManager * sself=wself;
        //一
        NSUInteger len = [g711aData length];
        Byte *byteData = (Byte*)malloc(len);
        memcpy(byteData, [g711aData bytes], len);
        //二
        unsigned char *data = (unsigned char *)[g711aData bytes];
        //
        MSGDef::TMSG_AUDIODATAGSM *retMsg = new MSGDef::TMSG_AUDIODATAGSM;
        int nBufLen = sizeof(MSGDef::TMSG_AUDIODATAGSM);
        memcpy(retMsg->Buffer, data, 160);
        int type = 0;
        NSData *tmpSendData=[sself makeSocketPackageWithData:(unsigned char *)retMsg len:nBufLen type:type];
        SOCKET_RESULT result=[sself syncSendMessage:tmpSendData timeOut:15 serial:REQ_REPLAY_SEM_NUM];
        NSLog(@"result:%u",result);
    });
}
回复

使用道具 举报

123455616+ 发表于 2018-5-17 06:08:51
pcm转g711a不会啊 ,,用到网上这个例子    不好使啊,,哪位仁兄做过这方面对讲啊,求助攻啊。
ps :我这是和c++混编,   这个是c++提供的结构体参数 //音频信号
    struct TMSG_AUDIODATAGSM
    : TMSG_HEADER
    {
        unsigned char Buffer[160];
        TMSG_AUDIODATAGSM()
        :TMSG_HEADER(MSG_AUDIODATAGSM)
        {
            memset(Buffer,0,160);
        }
    };

怎么把g711a数据给这个结构体的参数啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则