gpt4 book ai didi

iphone - 播放 "Photos"中专辑中的电影

转载 作者:行者123 更新时间:2023-11-29 04:39:07 26 4
gpt4 key购买 nike

如何播放“照片”相册中的电影?我不想使用 UIImagePickerController 来浏览电影,但我希望能够指定电影的名称(或某种 id),如下面的代码所示来播放它。下面的代码在本地播放视频。如何修改照片应用中存储的“视频”相册中视频的播放路径?非常感谢您的帮助。

NSString *url = [[NSBundle mainBundle]

pathForResource:@"Movie1"

ofType:@"MOV"];

MPMoviePlayerViewController *playerViewController =

[[MPMoviePlayerViewController alloc]

initWithContentURL:[NSURL fileURLWithPath:url]];

[[NSNotificationCenter defaultCenter]

addObserver:self

selector:@selector(movieFinishedCallback:)

name:MPMoviePlayerPlaybackDidFinishNotification

object:[playerViewController moviePlayer]];

[playerViewController.view setFrame: self.view.bounds];
[self.view addSubview:playerViewController.view];

MPMoviePlayerController *player = [playerViewController moviePlayer];

[player play];

[playerViewController release];

最佳答案

我最终使用了 ALAssetsLibrary 并创建了一个 url 数组 (assetURLs),用于存储相册中视频的 url。这是代码,以防对某人有帮助。

NSMutableArray *assets =[[NSMutableArray alloc]init];
NSMutableArray *assetURLs = [[NSMutableArray alloc] init];
NSMutableArray *assetGroups = [[NSMutableArray alloc] init];

ALAssetsLibrary *library = [[ALAssetsLibrary alloc]init];
void (^assetEnumerator)( ALAsset *, NSUInteger , BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop)
{
if(result != NULL)
{
NSLog(@"Asset: %@", result);
//[assets addObject:result];
if(![assetURLs containsObject:[result valueForProperty:ALAssetPropertyURLs]]) {
if([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypeVideo]) {
[assetURLs addObject:[result valueForProperty:ALAssetPropertyURLs]];
[assets addObject:result];
}
}

}
};
void (^assetGroupEnumerator)( ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop)
{
if(group != nil)
{
[assetGroups addObject:group];
NSLog(@"GROUP: %@", group);
[group enumerateAssetsUsingBlock:assetEnumerator];
}
};
void(^ErrorBlock)(NSError*)=^(NSError *error)
{
NSLog(@"Failure");
};


[library enumerateGroupsWithTypes:ALAssetsGroupAlbum
usingBlock:assetGroupEnumerator
failureBlock: ErrorBlock
];

然后,按如下方式初始化 MPMoviePlayerViewController 对象:

MPMoviePlayerViewController *playerViewController =[[MPMoviePlayerViewController alloc] initWithContentURL:[[[assets objectAtIndex:counter defaultRepresentation] url]]; // counter is incremented to play all videos or set whatever way to play what you want.

关于iphone - 播放 "Photos"中专辑中的电影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10657617/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com