1

Je œuvre fonctionnalité Audio Copy dans mon application de synthèse audio en utilisant la UIPasteboard générale de sorte que l'audio qui a été copié peut être collé dans MAPI: AudioCopy/AudioPaste ou Intua Partage audio applications activées. Il semble y avoir un problème dans le processus et l'audio copié n'apparaît pas dans une application compatible AudioPaste.audio copie en UIPasteboard générale

C'est ce que je fais pour copier l'audio dans l'UIPasteboard générale.

NSData *newItemData = [NSData dataWithContentsOfFile:[dataPath stringByAppendingPathComponent:@"converted.wav"]];  


// This is the copy operation using the General Pasteboard otherwise known as the Intua Pasteboard 
UIPasteboard *board = [UIPasteboard generalPasteboard]; 
[board setPersistent:TRUE]; 
NSData *dataFile = newItemData; 

if (!dataFile) { 
    NSLog(@"Can't open file"); 
} 

// Create chunked data and append to clipboard 
NSUInteger sz = [dataFile length]; 
NSUInteger chunkNumbers = (sz/GP_CLIPBOARD_CHUNK_SIZE) + 1; 
NSMutableArray *items = [NSMutableArray arrayWithCapacity:chunkNumbers]; 
NSRange curRange; 

for (NSUInteger i = 0; i < chunkNumbers; i++) { 
    curRange.location = i * GP_CLIPBOARD_CHUNK_SIZE; 
    curRange.length = MIN(GP_CLIPBOARD_CHUNK_SIZE, sz - curRange.location); 
    NSData *subData = [dataFile subdataWithRange:curRange]; 
    NSDictionary *dict = [NSDictionary dictionaryWithObject:subData forKey:(NSString *)kUTTypeAudio]; 
    [items addObject:dict]; 
} 

board.items = items; 

Après avoir fait cette étape, lorsque je lance une application compatible AudioPaste, je ne vois pas l'audio que je viens de copier. Pourriez-vous repérer une erreur dans mon code de copie audio?

Répondre

0

Je ne suis pas convaincu que votre chemin que vous créez en ajoutant "converted.wav" existe. Je vérifierais que le chemin du fichier existe avant de continuer avec la copie. Vous pouvez trouver que ce chemin ressemble à "myAudioFile.wavconverted.wav". Comme une note mineure, le tableau de type général retourné par [UIPasteboard generalPasteboard] est toujours persistant, vous n'avez donc pas besoin de le définir sur persistant.

+0

Merci pour la réponse. "converted.wav" existe en effet. J'ai débogué et vu que newItemData obtient quelques octets. Je fais aussi des vérifications pour l'existence du fichier. J'ai enlevé le code pour poster ici par souci de concision. –

Questions connexes