mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-13 19:05:37 +00:00
Add Photo Library items to iOS Tutorial 5
This commit is contained in:
parent
1db12234ad
commit
72b7f3f2a2
3 changed files with 52 additions and 11 deletions
|
@ -2,6 +2,7 @@
|
|||
|
||||
@interface LibraryViewController : UITableViewController
|
||||
{
|
||||
NSArray *libraryEntries;
|
||||
NSArray *mediaEntries;
|
||||
NSArray *onlineEntries;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#import "LibraryViewController.h"
|
||||
#import "VideoViewController.h"
|
||||
#import <AssetsLibrary/AssetsLibrary.h>
|
||||
|
||||
@interface LibraryViewController ()
|
||||
|
||||
|
@ -23,14 +24,15 @@
|
|||
static NSString *CellIdentifier = @"CellIdentifier";
|
||||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
return 2;
|
||||
return 3;
|
||||
}
|
||||
|
||||
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
|
||||
{
|
||||
switch (section)
|
||||
{
|
||||
case 0: return @"Local files (iTunes file sharing)";
|
||||
case 0: return @"Photo library";
|
||||
case 1: return @"iTunes file sharing";
|
||||
default: return @"Online files";
|
||||
}
|
||||
}
|
||||
|
@ -38,8 +40,10 @@ static NSString *CellIdentifier = @"CellIdentifier";
|
|||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
switch (section) {
|
||||
case 0:
|
||||
return [self->mediaEntries count];
|
||||
return [self->libraryEntries count];
|
||||
case 1:
|
||||
return [self->mediaEntries count];
|
||||
case 2:
|
||||
return [self->onlineEntries count];
|
||||
default:
|
||||
return 0;
|
||||
|
@ -52,13 +56,15 @@ static NSString *CellIdentifier = @"CellIdentifier";
|
|||
UILabel *title = (UILabel *)[cell.contentView viewWithTag:10];
|
||||
UILabel *subtitle = (UILabel *)[cell.contentView viewWithTag:11];
|
||||
|
||||
if(indexPath.section == 0)
|
||||
{
|
||||
subtitle.text = [NSString stringWithFormat:@"file://%@",
|
||||
[self->mediaEntries objectAtIndex:indexPath.item], nil];
|
||||
} else if (indexPath.section == 1)
|
||||
{
|
||||
subtitle.text = [self->onlineEntries objectAtIndex:indexPath.item];
|
||||
switch (indexPath.section) {
|
||||
case 0: subtitle.text = [self->libraryEntries objectAtIndex:indexPath.item];
|
||||
break;
|
||||
case 1: subtitle.text = [self->mediaEntries objectAtIndex:indexPath.item];
|
||||
break;
|
||||
case 2: subtitle.text = [self->onlineEntries objectAtIndex:indexPath.item];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
NSArray *components = [subtitle.text pathComponents];
|
||||
|
@ -91,13 +97,41 @@ static NSString *CellIdentifier = @"CellIdentifier";
|
|||
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSAllDomainsMask, YES);
|
||||
NSString *docsPath = [paths objectAtIndex:0];
|
||||
|
||||
/* Entries from the Photo Library */
|
||||
NSMutableArray *entries = [[NSMutableArray alloc] init];
|
||||
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
|
||||
[library enumerateGroupsWithTypes:ALAssetsGroupAll
|
||||
usingBlock:^(ALAssetsGroup *group, BOOL *stop)
|
||||
{
|
||||
if (group) {
|
||||
[group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop)
|
||||
{
|
||||
if(result) {
|
||||
[entries addObject:[NSString stringWithFormat:@"%@",[result valueForProperty:ALAssetPropertyAssetURL]]];
|
||||
*stop = NO;
|
||||
|
||||
}
|
||||
}];
|
||||
} else {
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
}
|
||||
failureBlock:^(NSError *error)
|
||||
{
|
||||
NSLog(@"ERROR");
|
||||
}
|
||||
];
|
||||
self->libraryEntries = entries;
|
||||
|
||||
/* Retrieve entries from iTunes file sharing */
|
||||
entries = [[NSMutableArray alloc] init];
|
||||
for (NSString *e in [[NSFileManager defaultManager] contentsOfDirectoryAtPath:docsPath error:nil])
|
||||
{
|
||||
[entries addObject:[NSString stringWithFormat:@"%@/%@",docsPath, e]];
|
||||
[entries addObject:[NSString stringWithFormat:@"file://%@/%@", docsPath, e]];
|
||||
}
|
||||
self->mediaEntries = entries;
|
||||
|
||||
/* Hardcoded list of Online media files */
|
||||
entries = [[NSMutableArray alloc] init];
|
||||
|
||||
// Big Buck Bunny
|
||||
|
|
|
@ -138,6 +138,9 @@ GST_PLUGIN_STATIC_DECLARE(eglglessink);
|
|||
#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS)
|
||||
GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic);
|
||||
#endif
|
||||
#if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS)
|
||||
GST_PLUGIN_STATIC_DECLARE(applemedia);
|
||||
#endif
|
||||
#if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS)
|
||||
GST_PLUGIN_STATIC_DECLARE(libvisual);
|
||||
#endif
|
||||
|
@ -639,6 +642,9 @@ gst_ios_init (void)
|
|||
#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS)
|
||||
GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic);
|
||||
#endif
|
||||
#if defined(GST_IOS_PLUGIN_APPLEMEDIA) || defined(GST_IOS_PLUGINS_SYS)
|
||||
GST_PLUGIN_STATIC_REGISTER(applemedia);
|
||||
#endif
|
||||
#if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS)
|
||||
GST_PLUGIN_STATIC_REGISTER(libvisual);
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue