Копирование аудио в общую UIPasteboard

Я реализую функцию Audio Copy в своем приложении для синтеза аудио, используя общую UIPasteboard, чтобы скопированный звук можно было вставить в приложения MAPI: AudioCopy / AudioPaste или Intua Audio Sharing. Похоже, что проблема в процессе, и скопированное аудио не появляется в приложении с поддержкой AudioPaste.

Это то, что я делаю, чтобы скопировать звук в общую UIPasteboard.

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;

После выполнения этого шага при запуске приложения, совместимого с AudioPaste, я не вижу только что скопированный звук. Не могли бы вы обнаружить ошибку в моем коде Audio Copy?

1 ответ

Я не уверен, что ваш путь, который вы создаете, добавив "convert.wav", существует. Я бы проверил, что путь к файлу существует, прежде чем продолжить с копией. Вы можете обнаружить, что путь выглядит примерно так: "myAudioFile.wavconverted.wav".

В качестве второстепенного примечания: General Pasteboard, который возвращается [UIPasteboard generalPasteboard], всегда является постоянным, поэтому вам не нужно устанавливать его на постоянный.

Другие вопросы по тегам