2015-08-06 3 views
0

В настоящее время я работаю над проектом IP-камеры. Одна из особенностей заключается в том, что вы можете загружать и просматривать записи с камер. Вы получаете URL-адрес от камеры, загружаете файл и воспроизводите его с помощью VLC из приложения. Однако эти файлы находятся в .avi, который не поддерживается iTunes. До сих пор можно делиться файлами .avi? Когда я использую следующий код:Как поделиться .avi видео на iOS

NSString *urlToDownload = [NSString stringWithFormat:@"%@localhost:%@%@", self.activeRecording.urlProtocol, self.activeCamera.localPort, self.activeRecording.urlQuery]; 
NSString *fullPath = [NSTemporaryDirectory() stringByAppendingPathComponent:[urlToDownload lastPathComponent]]; 
NSURL *videoUrl = [NSURL URLWithString:fullPath]; 
self.activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[videoUrl] applicationActivities:nil]; 
[self presentViewController:self.activityViewController animated:YES completion:nil]; 

URL-адрес правильный, поскольку я могу использовать его для просмотра записи. Когда открывается меню совместного доступа, в качестве опции отображается только «другое». Я хотел бы иметь возможность делиться видео на Facebook и прочее, но, по крайней мере, иметь возможность отправлять по электронной почте видео с помощью кнопки совместного доступа. Может кто-нибудь мне помочь?

tl; dr: Хотите поделиться .avi видео, не работает.

+0

Что делать, если вы попробуете NSString * urlStr = [videoUrl absoluteString]; и попробуйте передать это как элемент активности? –

+0

Очень запутанный, каков ваш вопрос. iTunes и iOS ??? – user523234

+0

@MikeStrand Если я передам это как элемент активности, я просто вижу это в своей почте/facebook/других вариантах:/private/var/mobile/Containers/Data/Application/00E83A35-1C29-48B7-90C8-F567C5392BBD/tmp /951e33ead6f981e23f32d495a8028d6dfe8e1587bd18d0d15f0eb4338b30b301.avi – user1945317

ответ

0

Мое текущее решение только позволить этому быть разделены по электронной почте с помощью следующего кода:

NSString *urlToDownload = [NSString stringWithFormat:@"%@localhost:%@%@", self.activeRecording.urlProtocol, self.activeCamera.localPort, self.activeRecording.urlQuery]; 
NSString *fullPath = [NSTemporaryDirectory() stringByAppendingPathComponent:[urlToDownload lastPathComponent]]; 
NSData *video = [NSData dataWithContentsOfFile:fullPath]; 

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; 
picker.mailComposeDelegate = self; 

[picker setSubject:[NSString stringWithFormat:NSLocalizedString(@"%@ recording", @"-name- recording"), self.activeRecording.name]]; 

[picker addAttachmentData:video mimeType:@"video/avi" fileName:@"recording.avi"]; 

[self presentViewController:picker animated:YES completion:nil]; 

Если кто-то может найти лучшее решение, это было бы удивительным.

+0

Вы нашли лучшее решение? – Patrick

+0

Нет. Apple в этом отношении довольно жесткая. Что-то изменилось с тех пор, как я в последний раз работал над ним, так как прошло год или два, но я ничего не слышал. – user1945317