Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- NSData *movieData = ...read from memory...;
- QTDataReference *movieDataReference = [[QTDataReference alloc] initWithReferenceToData:movieData name:fileName MIMEType:@"video/x-m4v"];
- QTMovie *mov = [QTMovie movieWithDataReference:movieDataReference error:&err];
- - (NSString*)mimeTypeForExtension:(NSString*)ext {
- CFStringRef UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension,(CFStringRef)ext,NULL);
- return NSMakeCollectable(UTTypeCopyPreferredTagWithClass((CFStringRef)UTI,kUTTagClassMIMEType));
- }
- -(NSString*)mimeTypeForExtension:(NSString*)ext
- {
- NSAssert( ext, @"Extension cannot be nil" );
- NSString* mimeType = nil;
- CFStringRef UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension,
- (CFStringRef)ext, NULL);
- if( !UTI ) return nil;
- CFStringRef registeredType = UTTypeCopyPreferredTagWithClass(UTI, kUTTagClassMIMEType);
- if( !registeredType ) // check for edge case
- {
- if( [ext isEqualToString:@"m4v"] )
- mimeType = @"video/x-m4v";
- else if( [ext isEqualToString:@"m4p"] )
- mimeType = @"audio/x-m4p";
- // handle anything else here that you know is not registered
- } else {
- mimeType = NSMakeCollectable(registeredType);
- }
- CFRelease(UTI);
- return mimeType;
- }
- -(NSString *)mimeTypeForFileAtPath:(NSString *)path error:(NSError **)err {
- NSString *uti, *mimeType = nil;
- if (!(uti = [[NSWorkspace sharedWorkspace] typeOfFile:path error:err]))
- return nil;
- if (err)
- *err = nil;
- if ((mimeType = (NSString *)UTTypeCopyPreferredTagWithClass((CFStringRef)uti, kUTTagClassMIMEType)))
- mimeType = NSMakeCollectable(mimeType);
- return mimeType;
- }
Add Comment
Please, Sign In to add comment