一、前綴
一直都想好好學(xué)學(xué)音視頻這方面的知識早芭,抽了幾個周末參考一些資料彼城,嘗試著寫了一個簡易的音視頻播放框架,支持音視頻播放、視頻截圖募壕、音樂緩存调炬,其實(shí)吧,也就是盡可能的封裝罷了舱馅,方便以后自己使用缰泡。目前只是開始,可能有些不足代嗤,后續(xù)會繼續(xù)優(yōu)化棘钞。可以在github上下載干毅,地址是https://github.com/xiayuanquan/XYQPlayer宜猜,當(dāng)然也請多多關(guān)注本博主夏遠(yuǎn)全。概念參考我的這篇博文:http://www.cnblogs.com/XYQ-208910/p/5662655.html
我的博文都在博客園硝逢,歡迎瀏覽:http://www.cnblogs.com/XYQ-208910/
二姨拥、框架
1、截圖
2渠鸽、文件
XYQAllHeader.h:所有的頭文件
XYQAudioTool.h/m:音頻播放工具類叫乌,播放包括短音頻和音樂
XYQAudioToolView.h/m:音頻播放界面類,顯示播放音樂的界面拱绑,播放、暫停丽蝎、光盤旋轉(zhuǎn)
XYQAudioToolLoader.h/m:音頻下載類猎拨,緩存音樂到本地
XYQMovieTool.h/m:視頻播放工具類,直接顯示播放界面屠阻、還有截屏功能
XYQCachesManager.h/.m:緩存管理類红省,計(jì)算緩存大小、清除緩存
XYQHUDView.h/m:彈框提示国觉,包括文本提示吧恃、下載進(jìn)度提示
XYQTimeProgress.h/m:音樂播放時(shí)間進(jìn)度條
UIImage+XYQCornerRadius.h/m:對圖片進(jìn)行處理的類
Source.bundle:資源包,存放圖片icon
3麻诀、依賴
三痕寓、音樂播放和緩存邏輯
四、視頻播放方式
五蝇闭、音頻播放test
?//測試創(chuàng)建音樂播放器(播放沙盒本地音樂包括從網(wǎng)絡(luò)音樂下載緩存)
- (void)testPlay_Local_URL_Music:(NSArray *)musicFileLinkArray{
? ? ? self.audioPlayerView = [XYQAudioToolView openAudioPlayerView:musicFileLinkArray? audioPlayerViewController:self];
? ? ? self.audioPlayerView.diskIsHide = YES;
}
//測試創(chuàng)建音樂播放器(播放bundle根目錄下的音樂)
- (void)testPlay_Bundle_Music:(NSArray *)musicNameArray{
? ? ? self.audioPlayerView = [XYQAudioToolView openAudioPlayerView:musicNameArray? audioPlayerViewController:self];
? ? ?self.audioPlayerView.diskIsHide = YES;
}
//關(guān)閉播放器
-(void)viewWillDisappear:(BOOL)animated{
? ? ? [super viewWillDisappear:animated];
? ? ? [self.audioPlayerView dismissAudioPlayerView];
}
六呻率、視頻播放test
-(void)viewDidLoad{
? ? ? ? [super viewDidLoad];
? ? ? ? ?//1、push視頻? ? [XYQMovieTool pushPlayMovieWithNetURL:@"http://120.25.226.186:32812/resources/videos/minion_02.mp4" viewController:self];}
-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event{
? ? ? ? ? //2呻引、present視頻
? ? ? ? ? //[XYQMovieTool presentPlayMovieWithNetURL:@"http://120.25.226.186:32812/resources/videos/minion_02.mp4" viewController:self];
}
//關(guān)閉播放器
-(void)viewWillDisappear:(BOOL)animated{
? ? ? [super viewWillDisappear:animated];
? ? ?[XYQMovieTool cancelPlay];
}
七礼仗、cocoaPods支持
pod ?search ?'XYQPlayer'
八、演示截圖
音樂:
視頻:
push:
present:
九、聲明
本博文為原創(chuàng)元践,如轉(zhuǎn)載請注明出處韭脊,希望對大家有所幫助~~~~
簡書地址:http://www.reibang.com/p/1f8f434cfcba