c - Comment simuler le push and pop sur iOS
PHP中文网
PHP中文网 2017-07-01 09:12:26
0
3
1164

Lors du traitement d'une vidéo en direct, vous devez enregistrer le caractèredans un conteneur tout en le retirant et en le lisant. Les utilisateurs d'Android l'ont implémenté à l'aide d'une file d'attente, mais la file d'attente iOS ne semble pas avoir cette fonction. J'ai essayé de convertir le caractèreen un. OC puis en l'enregistrant dans le tableau, les données sont récupérées et lues en parcourant le tableau. Bien sûr, le parcours du tableau doit être placé dans un sous-thread. Cette méthode d'implémentation ne pose pas de problème au début, mais elle doit être parcourue. le tableau en continu. Après avoir parcouru pendant un certain temps, il s'arrêtera automatiquement et ne traversera plus le tableau
Avez-vous un bon moyen de résoudre cette fonction ?

// Ceci ajoute un tableau au tableau

char *p = new char[ilen + 1];
memcpy(p, data, ilen);

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

[clientManager.dataArr addObject:data];

// Ceci traverse le tableau

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

répondre à tous (3)
过去多啦不再A梦

Comment pouvez-vous entrer et sortir de la pile ? La caractéristique de la pile est la suivante : premier entré, dernier sorti. Vous mettez les données de diffusion en direct dans un tableau. N'est-ce pas en streaming ? Vous continuez à les insérer et vous les retirez de 0. Comment pouvez-vous utiliser une pile pour y parvenir ? Entrées et sorties ultérieures, les anciennes données ne peuvent pas être utilisées

    代言

    Vous pouvez vous référer à la méthode suivante
    Comment créer et utiliser une file d'attente en Objective-C ?
    Implémentation de la file d'attente Objective-C

      我想大声告诉你

      Ce n'est pas une diffusion en direct, c'est une rediffusion. Le côté C++ ne peut pas le gérer. L'envoi de commandes vers C++ puis vers le terminal cloud nécessite un processus, nous devons donc le gérer

      .
        Derniers téléchargements
        Plus>
        effets Web
        Code source du site Web
        Matériel du site Web
        Modèle frontal
        À propos de nous Clause de non-responsabilité Sitemap
        Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!