-1
.MOV 비디오를 변환하는 중입니다. AVIIsetExportSession을 사용하여 UIImagePickerController에서 .mp4 형식으로 변환합니다. 변환이 완료되면 데이터를 서버로 보냅니다. 상태 표시 줄이 빨간색으로 변하고 전송이 완료되면 펄싱하는 것을 제외하면 모든 것이 잘 작동합니다. 앱을 백그라운드로두고 다시 열면 상태 표시 줄이 다시 정상 상태로 돌아갑니다.UIImagePickerController 미디어 변환을 위해 AVAssetExportSession을 사용하면 UIStatusBar가 빨간색이됩니다.
//I took a video
__block NSString *messageType;
__block NSData *messageData;
__block NSString *messageText;
[...]
NSURL *url = [info objectForKey:UIImagePickerControllerMediaURL];
AVURLAsset *avAsset = [AVURLAsset URLAssetWithURL:url options:nil];
NSArray *compatiblePresets = [AVAssetExportSession exportPresetsCompatibleWithAsset:avAsset];
NSString *videoPath = nil;
if ([compatiblePresets containsObject:AVAssetExportPresetLowQuality])
{
AVAssetExportSession *exportSession = [[AVAssetExportSession alloc]initWithAsset:avAsset presetName:AVAssetExportPresetPassthrough];
videoPath = [[NSTemporaryDirectory() stringByAppendingPathComponent:videoDirectory]stringByAppendingPathComponent:tempVideoFileName];
exportSession.outputURL = [NSURL fileURLWithPath:videoPath];
NSLog(@"videopath of your mp4 file = %@",videoPath); // PATH OF YOUR .mp4 FILE
exportSession.outputFileType = AVFileTypeMPEG4;
[exportSession exportAsynchronouslyWithCompletionHandler:^{
switch ([exportSession status]) {
case AVAssetExportSessionStatusFailed:{
NSLog(@"Export failed: %@", [[exportSession error] localizedDescription]);
[picker dismissViewControllerAnimated:YES completion:^{
[SVProgressHUD showErrorWithStatus:[[exportSession error] localizedDescription]];
}];
}
break;
case AVAssetExportSessionStatusCancelled:
NSLog(@"Export canceled");
break;
case AVAssetExportSessionStatusCompleted:{
messageData = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:videoPath]];
messageText = videoPath;
messageType = kMessageTypeVideo;
// This method sends asynchronously the data to the server
[self sendMediaType:messageType MessageData:messageData MessageText:messageText];
[picker dismissViewControllerAnimated:YES completion:NULL];
}
break;
default:
break;
}
}];
}
내가 그것을 만들 때 사용하는 방식 빨간 상태 표시 줄의 또는 적어도 외관을 피할 수있는 방법이 있나요 :
이
내가이 문제를 일으키는 코드의 조각이 생각하는 것입니다 사라지다?
을?! 얘들 아, 너 심각 할 수 없어! – Lolloz89