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];
//網絡url
NSURL *url = [NSURL URLWithString:@"http://www.baidumusic.com.mp3"];
avPlayer = [[AVPlayer alloc]initWithURL:url];
[avPlayer play];