• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

CocoaでAVFoundationを使うサンプル


Commit MetaInfo

Revision00334e3f18b27fd73df51b0af88586adae8d2fac (tree)
Time2012-06-12 23:33:50
AuthorHori <masaki@MBP....>
CommiterHori

Log Message

エラートラッキング

Change Summary

Incremental Difference

--- a/testAVFoundation/HMDocument.m
+++ b/testAVFoundation/HMDocument.m
@@ -138,12 +138,22 @@
138138 [_asset autorelease];
139139 _asset = [asset retain];
140140
141- [_asset loadValuesAsynchronouslyForKeys:[NSArray arrayWithObject:@"tracks"]
141+ NSString *tracksKey = @"tracks";
142+ [_asset loadValuesAsynchronouslyForKeys:[NSArray arrayWithObject:tracksKey]
142143 completionHandler:
143144 ^ {
144145 dispatch_async(dispatch_get_main_queue(),
145146 ^{
146- self.item = [AVPlayerItem playerItemWithAsset:_asset];
147+ NSError *error = nil;
148+ AVKeyValueStatus status = [_asset statusOfValueForKey:tracksKey error:&error];
149+ if(status == AVKeyValueStatusLoaded) {
150+ self.item = [AVPlayerItem playerItemWithAsset:_asset];
151+ } else {
152+ NSLog(@"Asset's tracks were not loaded.\n%@", [error localizedDescription]);
153+ if(![self presentError:error]) {
154+ [self close];
155+ }
156+ }
147157 });
148158 }];
149159 }