я записываю экран с помощью ReplayKit
, и когда вызывается метод делегата previewController(_:didFinishWithActivityTypes:)
, когда я нажимаю кнопку сохранения, он автоматически сохраняется в фотопленку. Как я могу это изменить? Я хочу сохранить видео где-нибудь в файловой системе на устройстве. Я искал по всему Google и в документации Apple, но я не мог найти ничего, что касалось бы этого.
Сохранить видео в RPPreviewController в определенное место вместо сохранения в фотопленку?
comment
Какое конкретно место?
- person Paulw11   schedule 27.01.2019
comment
Где-то в файловой системе, чтобы получить к ней доступ позже в виде таблицы
- person SwiftNewling   schedule 27.01.2019
Ответы (2)
Если ваше приложение поддерживает ФАЙЛЫ приложения, комплект воспроизведения может сохранять файл непосредственно в папку. Например, приложение VLC имеет папку в FILES. В противном случае вам может потребоваться реализовать расширение действия, чтобы сделать то же самое.
person
E.Coms
schedule
26.01.2019
Но как я могу сохранить их прямо в приложении файлов, например?
- person SwiftNewling; 27.01.2019
Если VLC сможет получить сохраненный файл mp4. так что вы также можете создать подобное расширение.
- person E.Coms; 27.01.2019
Вопрос в том, как я могу получить доступ к кнопке сохранения, чтобы изменить действие и сохранить каталог
- person SwiftNewling; 27.01.2019
@SwiftNewling, вы смогли найти ответ на свой вопрос: как я могу получить доступ к кнопке сохранения, чтобы изменить действие и сохранить каталог ??
- person Ghazalah; 20.09.2019
использовать этот API
- (void)startCaptureWithHandler:(nullable void (^)(CMSampleBufferRef sampleBuffer, RPSampleBufferType bufferType, NSError *_Nullable error))captureHandler completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler API_AVAILABLE(ios(11.0), tvos(11.0), macos(11.0));
образец кода:
-(void)startCapture {
if (@available(iOS 11.0, *)) {
[[RPScreenRecorder sharedRecorder] startCaptureWithHandler:^(CMSampleBufferRef _Nonnull sampleBuffer, RPSampleBufferType bufferType, NSError * _Nullable error) {
if (CMSampleBufferDataIsReady(sampleBuffer) && bufferType == RPSampleBufferTypeVideo) {
NSLog(@"Recording started successfully.");
//save using AVAssetWriter
}
} completionHandler:^(NSError * _Nullable error) {
if (!error) {
NSLog(@"Recording started successfully.");
}else{
NSLog(@"Recording started error %@",error);
}
}];
} else {
// earlier versions issue
}
}
Также: этот пост может вам как-то помочь
person
L1ZI7
schedule
11.11.2020