您的位置:首页 > 产品设计 > UI/UE

ios-UI高级 相册的相关处理和音乐播放AVFoundation框架的内容总结

2016-08-01 18:39 411 查看
1、相册和照片的处理

a)iOS图像加载方式

1. 相册——用户的相册资源,通过UIImagePickerController读取 

2. 应用程序包——与应用程序源文件同一目录,可通过文件路径读取 

3. 沙盒——沙盒目录即可以保存图片,也可以通过路径读取,读取方式和应用程序包的方式是一样的。

4. 因特网——通过URL从网络上下载图像读取。

2、图片加载

本地加载:

//程序包根路径

NSString *resourcePath = [[NSBundle mainBundle] resourcePath];

//图像路径

NSString *path = [resourcePath stringByAppendingPathComponent:@"my.png"];

网络加载:

NSURL *url = [NSURL URLWithString:@"http://www.qqmusic.com"]; 

// 网络获取数据

NSData *data = [NSData dataWithContentsOfURL:url];

// 将数据转成image

UIImage *image = [UIImage imageWithData:data];

3、相册访问

a) 相册资源访问通过UIImagePickerController类来读取。

b) UIImagePickerController类继承自UINavigationController,是个独立的导航控制器,一般使用模态窗口的方式弹出。

c) UIImagePickerController的sourceType属性的资源类型有以下三种:

   UIImagePickerControllerSourceTypePhotoLibrary  所有相册

   UIImagePickerControllerSourceTypeCamera 拍照 摄像

   UIImagePickerControllerSourceTypeSavedPhotosAlbum 细分时间相册

d) UIImagePickerController类的代理方法:(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info(图像选取必须实现UIImagePickerControllerDelegate协议,以监听选择的资源)

4、AVFoundation框架

a) AVFoundation是iOS中用于处理基于时间的媒体数据的高级框架;它是基于Core Audio、Core Media、Core Video等框架构建的。

b) iOS系统中的音频播放方式(这里只列举了最常用的两种方式)

AVAudioPlayer

使用简单方便,但只能播放本地音频,不支持流媒体播放 

AVPlayer

iOS4.0以后,可以使用AVPlayer播放本地音频和支持流媒体播放,但提供接口较少,处理音频不够灵活
注:使用以上两种播放方式时,都需要引用AVFoundation类

AVAudioPlayer方式示例

NSString *filePath = [[NSBundle mainBundle]pathForResource:@"等你的季节" ofType:@"mp3"];

    //将该路径下的文件转成url格式

    NSURL *url = [NSURL fileURLWithPath:filePath];

    注意:这里的audioPlayer应该设置为全局变量,这样就不会在播放的时候被销毁

    audioPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:fileUrl error:nil];    

    

    //准备播放(作用是取得需要的音频硬件并且预加载Audio Queue的缓冲区)

    [audioPlayer prepareToPlay];

    //播放

    [audioPlayer play];

AVPlayer方式示例    

   //网络url

    NSURL *url = [NSURL URLWithString:@"http://www.baidumusic.com.mp3"];

    

    avPlayer = [[AVPlayer alloc]initWithURL:url];

    

    [avPlayer play];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios开发 ui 框架 音乐
相关文章推荐