在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>通訊/手機(jī)編程>

ReplayKit框架入門指南

大小:0.3 MB 人氣: 2017-09-26 需要積分:1

  ReplayKit框架提供了RPScreenRecorder類以及類單例方法sharedRecorder()供您進(jìn)行游戲錄制。這個實(shí)例對象負(fù)責(zé)檢查設(shè)備的記錄功能,包括啟動、停止以及丟棄記錄,并可以選擇啟動麥克風(fēng)讓玩家錄制真人語音解說!

  打開從GitHub下載的初始工程中GameViewController.swift文件。在文件頂部,導(dǎo)入ReplayKit框架。

  import ReplayKit

  接下來,在用戶按下Start Recording按鈕時調(diào)用GameViewController類中的startRecording(_:)這個方法開始錄制。

  func startRecording(sender: UIButton) { if RPScreenRecorder.sharedRecorder().available { RPScreenRecorder.sharedRecorder().startRecordingWithMicrophoneEnabled(true, handler: { (error: NSError?) -》 Void in if error == nil { // Recording has started sender.removeTarget(self, action: “startRecording:”, forControlEvents: .TouchUpInside) sender.addTarget(self, action: “stopRecording:”, forControlEvents: .TouchUpInside) sender.setTitle(“Stop Recording”, forState: .Normal) sender.setTitleColor(UIColor.redColor(), forState: .Normal) } else { // Handle error } }) } else { // Display UI for recording being unavailable } }

  跟著代碼一步一步走。我們通過sharedRecorder()方法訪問RPScreenRecorder實(shí)例以檢查我們的設(shè)備錄制功能是否可用。如果功能可用,我們便可以通過調(diào)用startRecordingWithMicrophone(_:handler:)方法啟動一段記錄。此方法的第一個參數(shù)為BOOL類型值,表示是否開啟設(shè)備的麥克風(fēng),第二個參數(shù)則為完成后回調(diào)的代碼塊。如果出現(xiàn)一些錯誤,RepalyKit框架可以通過代碼塊返回給你并提示您錯誤的信息。如果一切準(zhǔn)備就緒,我們改變按鈕的式樣告知用戶錄制已開始,再次點(diǎn)擊可以停止錄制。

  編譯運(yùn)行你的應(yīng)用程序并嘗試按下綠色按鈕,你會看到類似一團(tuán)火焰的粒子效果,如果你點(diǎn)擊Start Recording,你會看到這樣的警告,如圖:

  ReplayKit框架入門指南

  注意,這個警告每次會在你開始錄制時出現(xiàn)。然而,一旦用戶選擇了其中一種偏好設(shè)置,系統(tǒng)會在接下來的8分鐘記住這個選擇。

  在你選擇選項(xiàng)之后,Start Recording按鈕變?yōu)榱思t色的Stop Recording按鈕。

  停止,丟棄和編輯記錄

  現(xiàn)在,我們的app可以開始ReplayKit的錄制,是時候去了解在完成的時候編寫怎樣的代碼了。在GameViewController類中實(shí)現(xiàn)stopRecording(_:)這個方法:

  func stopRecording(sender: UIButton) { RPScreenRecorder.sharedRecorder().stopRecordingWithHandler { (previewController: RPPreviewViewController?, error: NSError?) -》 Void in if previewController != nil { let alertController = UIAlertController(title: “Recording”, message: “Do you wish to discard or view your gameplay recording?”, preferredStyle: .Alert) let discardAction = UIAlertAction(title: “Discard”, style: .Default) { (action: UIAlertAction) in RPScreenRecorder.sharedRecorder().discardRecordingWithHandler({ () -》 Void in // Executed once recording has successfully been discarded }) } let viewAction = UIAlertAction(title: “View”, style: .Default, handler: { (action: UIAlertAction) -》 Void in self.presentViewController(previewController!, animated: true, completion: nil) }) alertController.addAction(discardAction) alertController.addAction(viewAction) self.presentViewController(alertController, animated: true, completion: nil) sender.removeTarget(self, action: “stopRecording:”, forControlEvents: .TouchUpInside) sender.addTarget(self, action: “startRecording:”, forControlEvents: .TouchUpInside) sender.setTitle(“Start Recording”, forState: .Normal) sender.setTitleColor(UIColor.blueColor(), forState: .Normal) } else { // Handle error } } }

  繼續(xù)一步一步地研究這個方法的實(shí)現(xiàn)。我們還是用RPScreenRecorder的實(shí)例對象調(diào)用stopRecordingWithHandler(_:)這個方法,這次在回調(diào)的塊中,我們通過檢查previewController存不存在來判斷app完成錄制的成功與否。

  我們創(chuàng)建一個UIAlertController,它有兩個action,一個為丟棄記錄,另一個為回看記錄。選擇丟棄記錄則調(diào)用discardRecordingWithHandler(_:)這個方法。要注意的是,這個方法只能在確保錄制成功地完成后才可以調(diào)用,要是在錄制進(jìn)行的時候就調(diào)用的話,雖然系統(tǒng)不會拋出任何錯誤,但是也不會丟棄任何記錄。

  選擇回看記錄,我們就呈現(xiàn)previewController視圖,它是RPPreviewController類的實(shí)例,從stopRecordingWithHandler(_:)方法回調(diào)塊中返回給我們,用來回看、編輯或分享記錄。這個previewController視圖控制器實(shí)例是唯一能夠訪問到由ReplayKit生成的視頻文件,它的職能就是負(fù)責(zé)保存/分享記錄。

  最后,別忘了恢復(fù)startRecording按鈕以便再次另一段記錄的開始!

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?
      主站蜘蛛池模板: 色噜噜狠狠成人网 | 五月婷婷久久综合 | 国产精品久久久久久久午夜片 | 中文在线1区二区六区 | a一级日本特黄aaa大片 | 男女艹逼软件 | 欧美日韩精品一区二区另类 | 精品四虎免费观看国产高清午夜 | 深夜免费在线视频 | 免费一级在线观看 | 婷婷四房播客五月天 | 国产色在线 | 亚洲 国产色综合天天综合网 | 女人被免费网站视频在线 | 天堂网在线www资源网 | 欧美人与禽 | 午夜久久久久久亚洲国产精品 | 国产区一区二区三区 | 国产一区二区三区四卡 | 日韩免费三级电影 | 黄网在线免费看 | 色视频在线免费观看 | 久久夜色撩人精品国产 | 狠狠轮 | 国产一级特黄老妇女大片免费 | 精品成人毛片一区二区视 | 久久久久久88色偷偷 | 性色视频在线 | 日本丰满毛茸茸熟妇 | 高清一区二区三区视频 | 久久国产香蕉一区精品 | 天天天天射 | 免费国内精品久久久久影院 | 精品视频一区二区三区四区五区 | 亚洲综合校园春色 | 2021久久精品免费观看 | 大色综合色综合网站 | 国产牛仔裤系列在线观看 | 俺来也俺去啦久久综合网 | abc119影院成人免费看 | 亚洲国产精品久久久久婷婷老年 | 特黄特级高清免费视频毛片 |