c – So simulieren Sie Push und Pop unter iOS
PHP中文网
PHP中文网 2017-07-01 09:12:26
0
3
1250

Bei der Verarbeitung von Live-Videos müssen Sie char in einem Container speichern, während Sie es herausnehmen und abspielen. Android-Benutzer haben es mithilfe einer Warteschlange implementiert, aber die iOS-Warteschlange scheint diese Funktion nicht zu haben Ein OC-Objekt und das anschließende Speichern im Array werden durch Durchlaufen des Arrays abgerufen und abgespielt. Natürlich muss das Durchlaufen des Arrays zunächst in einem Unterthread platziert werden, aber es muss sein Nach einer Weile wird das Array kontinuierlich durchlaufen. Habt ihr eine gute Möglichkeit, diese Funktion zu lösen?
// Dies fügt dem Array ein Array hinzu

char *p = new char[ilen + 1];

memcpy(p, data, ilen);

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

[clientManager.dataArr addObject:data];

// Dies durchläuft das Array

[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级讲师

Antworte allen(3)
过去多啦不再A梦

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

代言

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

我想大声告诉你

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

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage