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];
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高级 触摸事件的相关总结
- ios-UI高级 多线程部分内容总结
- iOS框架之两个极为重要的框架————Foundation和UIKit的相关内容以及一些其他Cocoa相关内容
- IOS Orientation, 想怎么转就怎么转~~~ 此博文主要针对IOS应用, 是屏幕旋转相关问题的一个总结. 主要内容有: IOS5,6,7不同版的适配. 强制旋转和自动旋转.
- IOS-沙盒相关内容总结
- iOS 视频录制、播放,使用视听媒体框架AVFoundation实现视频录制播放 —— HERO博客
- iOS开发UI高级—16APP主流UI框架结构
- ios音乐播放中断处理
- IOS利用AVFoundation框架实现录音和播放(AVAudioSession、AVAudioRecorder、AVAudioPlayer)
- iOS开发——高级篇——音频、音乐播放(封装类)
- iOS 音频录制、播放,使用音频处理框架The Amazing Audio Engine实现音频录制播放 —— HERO博客
- ios 网络请求总结加强对中文的处理 问题:URL不允许写中文 在GET请求中,相关代码段打断点以验证。
- IOS利用AVFoundation框架实现录音和播放(AVAudioSession、AVAudioRecorder、AVAudioPlayer)
- iOS实现播放远程网络音乐的核心技术点总结
- iOS 摄像头和相册的相关问题总结
- 【iOS开发】播放在线音乐框架
- iOS播放音乐文件时的操作和打断处理
- IOS利用AVFoundation框架实现录音和播放(AVAudioSession、AVAudioRecorder、AVAudioPlayer)
- IOS开发之UI中的坐标相关内容
- iOS中AVFoundation的简单使用—音乐的播放