2016-04-03 15 views
0

Özellikle bir mp4 videosu olmak üzere AVAsset kaynak adının (aka dosya adı) elde edilmesi ile ilgileniyorum. Varlık kaynak adıyla oluşturuldu, sadece AVAsset örneğim olduğunda gelecekte aynı dize kaynağını almak istiyorum. Bu durumda, varlıktan "my-video" nasıl edinebilirim?Varolan bir AVAsset'in kaynak adını almanın herhangi bir yolu var mı?

AVAsset(URL: NSBundle.mainBundle().URLForResource("my-video", withExtension: "mp4")!) 

ben varlık en title ulaşabilirim, ancak bu her zaman kaynak adıyla aynı değildir. Ve dosya adı, varlığın ortak meta verilerinde değil.

var title = "" 
for metadataItem in asset.commonMetadata { 
    if metadataItem.commonKey == "title" { 
     title = metadataItem.value as! String 
    } 
} 

cevap

0

AVURLAsset.

NSURL *url = [[NSBundle mainBundle] URLForResource:@"my-video" withExtension:@"mp4"]; 
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil]; 
NSLog(@"filename: %@", asset.URL.lastPathComponent); 

Üzgünüm Swift ilgili değil bilinen fazla, olabilir mi:

let url:NSURL = NSBundle.mainBundle().URLForResource("my-video", withExtension: "mp4")! 
let asset:AVURLAsset = AVURLAsset.init(URL: url, options: nil) 
let filename:NSString = asset.URL.lastPathComponent! 
print(filename) 
0

let assetURL = avAsset as! AVURLAsset 
let name = assetURL.url.lastPathComponent 
Swift 4'te