我正在编写一个使用AVFoundation处理视频的应用程序.
我的应用程序的行为很简单:我从相机胶卷拍摄视频,然后创建一个带有一些音轨的AVMutableComposition.使用混合合成我初始化AVAssetExportSession,将视频文件存储在我的应用程序的文档目录中.
在此之前,一切都没问题:我的视频已存储,我可以在另一个控制器中播放.如果我将刚刚存储在我的文档文件夹中的视频进行一些编辑(与第一次AVmutableComposition,AVAssetExportSession相同)再次没问题.
但是我第三次执行此过程来编辑视频,AVAssetExportSession状态变为"Fail"并出现此错误:
"Domain=AVFoundationErrorDomain Code=-11820 "Cannot Complete Export" UserInfo=0x1a9260 {NSLocalizedRecoverySuggestion=Try exporting again., NSLocalizedDescription=Cannot Complete Export}"
我读过这是一个无法导出会话的一般错误.这是什么意思?为什么我第三次进行编辑过程?这可能是内存管理错误吗?一个bug?这是我的AVAssetExportSession的代码:
_assetExport = [[AVAssetExportSession alloc] initWithAsset:mixComposition presetName:AVAssetExportPresetHighestQuality];
_assetExport.shouldOptimizeForNetworkUse = YES;
///data odierna
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"ddMMyyyyHHmmss"];
NSDate *now = [[NSDate alloc] init];
NSString *dateString = [format stringFromDate:now];
[now release];
[format release];
NSString* ext = @".MOV";
NSString* videoName=[NSString stringWithFormat:@"%@%@", dateString, ext];
///data odierna
NSString *exportPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:videoName];
if ([[NSFileManager defaultManager] fileExistsAtPath:exportPath])
{
[[NSFileManager defaultManager] removeItemAtPath:exportPath error:nil];
} …Run Code Online (Sandbox Code Playgroud) 很少,我们的应用程序崩溃,因为它收到SIGKILL.情况不同,但回溯总是一样的:
#0 0x94a00afa in mach_msg_trap ()
#1 0x94a01267 in mach_msg ()
#2 0x00fa9d5c in _UIPasteboardServerContainsTypesAtIndex ()
#3 0x00faa9ae in UIPasteboardServerContainsTypesAtIndex ()
#4 0x00fa5417 in -[UIPasteboard containsPasteboardTypes:] ()
#5 0x00de4054 in -[UITextField canPerformAction:withSender:] ()
#6 0x087038a8 in -[UIResponder(UITextAccessibilityUtilities) _accessibilityHasTextOperations] ()
#7 0x08704df5 in -[UIAccessibilityTextFieldElement _accessibilityHasTextOperations] ()
#8 0x08791dcf in -[NSObject(AXPrivCategory) accessibilityAttributeValue:] ()
#9 0x0878a3b4 in _copyMultipleAttributeValuesCallback ()
#10 0x087c5c95 in _AXXMIGCopyMultipleAttributeValues ()
#11 0x087c0a6c in _XCopyMultipleAttributeValues ()
#12 0x087c8e66 in mshMIGPerform ()
#13 0x020cf1c5 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
#14 0x02034022 in __CFRunLoopDoSource1 …Run Code Online (Sandbox Code Playgroud) 正如Apple文件中所述:
enum {
MPMusicRepeatModeDefault,
MPMusicRepeatModeNone,
MPMusicRepeatModeOne,
MPMusicRepeatModeAll
};
typedef NSInteger MPMusicRepeatMode;
Run Code Online (Sandbox Code Playgroud)
然而,MPMusicRepeatModeDefault被描述为用户首选的重复模式.自从我写一个音乐播放器,我需要知道每个什么是当前重复模式的时间,而当这是返回,"实际"模式的内容:
MPMusicRepeatModeNoneMPMusicRepeatModeOneMPMusicRepeatModeAll应该选择?或者没有办法获得这些信息?
我在iframe(从另一个域加载网站)中设置cookie时遇到问题.
在我的网站X.COM上我加载<iframe src='Y.COM'>
Y.COM尝试设置cookie,但Safari会阻止它们,因为之前没有访问过这个站点.因此加载Y.COM失败,因为它没有cookie就无法工作.有没有办法解决这个问题?
PS我无法在Y.COM修改任何数据.
PSS我们也可以修改Safari的设置 - "Accept cookies" = "Always"但它不是我的解决方案 - 似乎不可能引导每个用户这样做..
我们如何UIBezierPath从GlyphiOS SDK中使用角色获取.
我已经完成了这个,但它显示双线,我只想要单线..
因为我是这项研究的新手.请帮我解决这个问题..我不想要任何代码,但想得到你的参考..
其实我想UIBezierPath描述每个字母字母的形状..
提前致谢..
-(IBAction)settings:(id)sender
{
[mileagerate resignFirstResponder];
[mainView bringSubviewToFront:mileageView];
mainView.hidden=TRUE;
[UIView beginAnimations:@"Settings" context:nil];
[UIView setAnimationDuration:1.0];
[mainView setFrame:CGRectMake(0, 0, 320, 460)];
[UIView commitAnimations];
mileagerate.text = [[NSUserDefaults standardUserDefaults] valueForKey:@"savedstring"];
mileageView.hidden=FALSE;
}
Run Code Online (Sandbox Code Playgroud)
我在我的应用程序中的各个地方使用了resign第一响应者.但是当我单独点击此按钮时,键盘不会消失.如果我单击键盘上的返回键,则输入的值将消失.
我必须使用套接字编程为iOS创建一个聊天应用程序,我的IP地址是192.168.0.57:9300.我使用Raywenderlich套接字编程示例,接收数据正常工作但发送不工作,没有任何错误或崩溃.我的代码如下.
打开流的代码
- (void) initNetworkCommunication {
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"192.168.0.57", 9300, &readStream, &writeStream);
inputStream = (NSInputStream *)readStream;
outputStream = (NSOutputStream *)writeStream;
[inputStream setDelegate:self];
[outputStream setDelegate:self];
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];
[outputStream open];
}
Run Code Online (Sandbox Code Playgroud)
发送数据的代码
- (IBAction)sendMessage:(id)sender
{
NSString *response = @"lets start chat";
NSData *data = [[NSData alloc] initWithData:[response dataUsingEncoding:NSASCIIStringEncoding]];
[outputStream write:[data bytes] maxLength:[data length]];
}
Run Code Online (Sandbox Code Playgroud)
代表
- (void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent {
NSLog(@"stream event %i", streamEvent);
switch (streamEvent) { …Run Code Online (Sandbox Code Playgroud) 当我使用工具来尝试和配置我的应用程序时,我得到了经典的"找不到此可执行文件的有效配置文件".当我尝试构建,运行,调试,分发我的应用程序时,我根本没有遇到这个问题.以前有没有人遇到过这个问题?
indexpathUICollectionView的supplementView或decorationView意味着什么?
layoutAttributesForSupplementaryViewOfKind:atIndexPath:
layoutAttributesForDecorationViewOfKind:atIndexPath:
Run Code Online (Sandbox Code Playgroud) iphone ×10
ios ×5
objective-c ×5
ipad ×3
avfoundation ×1
cgcontext ×1
cocoa-touch ×1
cookies ×1
cross-domain ×1
glyph ×1
iframe ×1
safari ×1
sigkill ×1
sockets ×1
uibezierpath ×1
xcode4 ×1