c - iOS 怎么模拟进栈与出栈
PHP中文网
PHP中文网 2017-07-01 09:12:26
0
3
1163

在处理直播视频中 需要一边保存 char到一个容器里 一边从里面取出来 然后播放 安卓人家实现了 用的是队列 但是iOS队列貌似没有这个功能 我试过把char转化为OC对象 然后保存到数组里面 通过遍历数组取出数据播放 当然遍历数组肯定是放在子线程的 这中实现方式刚开始是没有问题,但是需要不停的遍历数组,遍历一段时间自动就停下来,不遍历数组了
请问各位大神 这个功能有什么好的方法解决吗 下面是具体操作

// 这是往数组里面添加数组
char *p = new char[ilen + 1];
memcpy(p, data, ilen);

NSData *data= [NSData dataWithBytes:p length:ilen];

[clientManager.dataArr addObject:data];

// 这个是遍历数组
[clientManager.dataArr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

int fragment_type; NSLog(@"+++++++++++%lu",(unsigned long)clientManager.dataArr.count); NSData *data = clientManager.dataArr[0]; [clientManager.dataArr removeObjectAtIndex:0]; char* Framebuf= (char*)[data bytes]; NSLog(@"2<><><><><>>%s",Framebuf); int head_size = sizeof(FRAME_HEAD); FRAME_HEAD *frameHead = new FRAME_HEAD; memcpy(frameHead, Framebuf, head_size); int frameType = frameHead->iFrameType;
PHP中文网
PHP中文网

认证0级讲师

全部回复 (3)
过去多啦不再A梦

你这个怎么可以是进栈出栈呢?栈的特点是先进后出。直播数据你放入一个数组中,它不是流式的吗 一直在放入,你从0处一直往出拿,你用栈怎么可以实现。先进后出了,老的数据无法使用了

    代言

    可以参考下面的方法
    How do I make and use a Queue in Objective-C?
    Objective-C 队列实现

      我想大声告诉你

      不是直播 是回放 C++那面没法处理 发送命令到C++再到云终端需要过程 所以我们这需要处理

        最新下载
        更多>
        网站特效
        网站源码
        网站素材
        前端模板
        关于我们 免责声明 Sitemap
        PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!