ios-UI高級 相冊的相關處理和音樂播放AVFoundation框架的內容總結

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];



發佈了47 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章