本文講解的是 iOS 視頻播放, 支持本地,在線播放. 進度拖動,精準(zhǔn)跳轉(zhuǎn),獲取視頻的長度等問題

澄城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
demo 記得點亮 star. 3Q
iOS 視頻播放主要使用的類 AVPlayerItem,AVPlayerLayer,AVPlayer
AVPlayerItem: 提供視頻信息, 利用視頻的 url 創(chuàng)建一個對象.利用 kvo 監(jiān)聽 status,可以獲取當(dāng)前視頻的狀態(tài).
AVPlayer: 就類似視頻的控制者. 可以用來控制視頻的播放,暫停,跳轉(zhuǎn)等. 它的創(chuàng)建依賴于AVPlayerItem
AVPlayerLayer: 用于視頻的顯示. 可以理解成一個 view. 它的創(chuàng)建依賴于AVPlayer
簡單總結(jié): AVPlayer控制視頻狀態(tài), AVPlayerLayer用于顯示,AVPlayerItem提供視頻信息
獲取視頻的長度 s
視頻精準(zhǔn)跳轉(zhuǎn).拖動 UISlider,監(jiān)聽 value 改變方法如下:
//為什么timescale要設(shè)置成 600 CMTime教程
快進:AVPlayer .rate 1
慢放: 0 AVPlayer .rate 1
快退: AVPlayer .rate 0 (m3u8 不能快退)
MP4:如果快進到了緩存不夠的地方:KVC監(jiān)聽 AVPlayerItem .isPlaybackBufferEmpty = yes
快退到頭會走通知AVPlayerItemDidPlayToEndTimeNotification
m3u8(靜態(tài)):快進與MP4格式視頻一致,可以10倍 20倍播放。
m3u8(動態(tài)):快進到了緩存不夠的地方,會走通知AVPlayerItemDidPlayToEndTimeNotification。
備注:使用[AVPlayerItem stepByCount:-24];
將AVPlayerItem 向前或向后移動指定的步數(shù),正數(shù)前進,負(fù)數(shù)后退。 每個步數(shù)的大小取決于AVPlayerItem啟用的AVPlayerItemTracks對象;
注冊監(jiān)聽和通知
這個我曾經(jīng)試過自己開發(fā),但弄了很久沒有成功,浪費了時間不說,還總是有bug,后來在別人的建議下使用ZEGO即構(gòu)科技的音視頻SDK就麻溜地開發(fā)好了,通過簡單的調(diào)用一些API便可搭建視頻聊天場景。
這個需要相當(dāng)于視頻直播,現(xiàn)在一般都用第三方平臺的sdk,例如容聯(lián)云等第三方的視頻直播即可。
//視頻文件路徑
NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:@"mp4"];
//視頻URL
NSURL *url = [NSURL fileURLWithPath:path];
//視頻播放對象
MPMoviePlayerController *movie = [[MPMoviePlayerController alloc] initWithContentURL:url];
movie.controlStyle = MPMovieControlStyleFullscreen;
[movie.view setFrame:self.view.bounds];
movie.initialPlaybackTime = -1;
[self.view addSubview:movie.view];
// 注冊一個播放結(jié)束的通知
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(myMovieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:movie];
[movie play];
實現(xiàn) iOS開發(fā)webrtc 視頻通話時錄像,截屏推薦ZEGO即構(gòu)科技,4行代碼,30分鐘在APP、Web和小程序等應(yīng)用內(nèi)實現(xiàn)視頻通話、語音通話,互動直播功能。【點擊免費試用,0成本啟動】
實現(xiàn) iOS開發(fā)webrtc 視頻通話時錄像,截屏的具體步驟如下:
1.權(quán)限申請。
2.引入 WebRTC 庫。
3.采集并顯示本地視頻。
4.信令驅(qū)動。
5.創(chuàng)建音視頻數(shù)據(jù)通道。
6.媒體協(xié)商。
7.渲染遠端視頻。
想要了解更多關(guān)于webrtc的相關(guān)信息,推薦咨詢ZEGO即構(gòu)科技。ZEGO即構(gòu)科技自主研發(fā)的高音質(zhì)語音視頻引擎,能夠提供實時清晰的多人語音通話獨立自研的語音前處理模塊(AEC, NS, AGC)能夠提供優(yōu)于同類競品的處理效果,支持全帶語音處理。良好的抖動緩沖、前向糾錯和丟幀補償技術(shù)使引擎適應(yīng)復(fù)雜的網(wǎng)絡(luò)環(huán)境,提供低延時清晰流暢的語音視頻通話,在較差網(wǎng)絡(luò)環(huán)境中自適應(yīng)的找到延時與流暢的最佳契合點。
當(dāng)前文章:ios開發(fā)實時視頻,ios視頻播放開發(fā)
網(wǎng)站鏈接:http://chinadenli.net/article15/dsiejgi.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、微信公眾號、商城網(wǎng)站、關(guān)鍵詞優(yōu)化、定制網(wǎng)站、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)