簡體   English   中英

如何在iOS8共享擴展中獲取視頻屬性

[英]How to get video attributes in iOS8 share extension

我正在嘗試使用新的iOS 8應用擴展程序創建共享擴展程序以分享視頻。我想打開照片應用並通過我的擴展程序分享視頻。

我通過以下代碼獲取視頻網址:

NSExtensionItem *inputItem = self.extensionContext.inputItems.firstObject;
    NSItemProvider *provider = inputItem.attachments[0];

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{

        if ([provider hasItemConformingToTypeIdentifier:(NSString *)kUTTypeQuickTimeMovie])
        {
            [provider loadItemForTypeIdentifier:@"com.apple.quicktime-movie" options:nil completionHandler:^(NSURL *path,NSError *error){
                if (path)
                {
                    dispatch_async(dispatch_get_main_queue(), ^{
                        _moviePath = path;
                    });
                }
            }];
        }
    });

但我只得到了視頻文件網址:

file:///var/mobile/Media/DCIM/100APPLE/IMG_0062.MOV

我還希望獲得更多視頻屬性,例如:大小和持續時間

我使用了以下代碼,但沒有工作:

NSDictionary *opts = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:NO]                                                   forKey:AVURLAssetPreferPreciseDurationAndTimingKey];
 AVURLAsset *urlAsset = [AVURLAsset URLAssetWithURL:_moviePath options:opts];  
int second = urlAsset.duration.value / urlAsset.duration.timescale; 

而這段代碼:

AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:_moviePath];
CMTime duration = playerItem.duration;
float seconds = CMTimeGetSeconds(duration);
NSLog(@"duration: %.2f", seconds);

他們都不行

和xcode提示:

Error [IRForTarget]: Call to a symbol-only function 'memset' that is not present in the target
error: 0 errors parsing expression
error: The expression could not be prepared to run in the target

你可以幫我獲取視頻屬性嗎?非常感謝你!

現在以下代碼可以正常工作:

NSDictionary *opts = [NSDictionary 
    dictionaryWithObject:[NSNumber numberWithBool:NO]
    forKey:AVURLAssetPreferPreciseDurationAndTimingKey];

AVURLAsset *urlAsset = [AVURLAsset URLAssetWithURL:_moviePath options:opts];  
int second = urlAsset.duration.value / urlAsset.duration.timescale; 

我不知道為什么它以前不起作用!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM