亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Swift > 正文

用Swift編寫自動錄音器

2020-03-09 17:50:07
字體:
供稿:網(wǎng)友
這篇文章主要介紹了用Swift編寫自動錄音器,有需要的朋友可以借鑒下
 

用swift編寫自動錄音器,自動錄音和一般錄音的不同點在于:不需要像微信里面需要按下錄音然后松手結(jié)束,而是根據(jù)說話聲音的大小自動判斷該錄音和該停止的點,然后可以等到錄音結(jié)束之后馬上播放出來。此效果很像會說話的湯姆貓那樣。

在自動錄音的初始化階段需要建立兩個錄音對象,一個需要一直錄音充當(dāng)監(jiān)聽器的功能,另一個用來在需要的時刻錄音。具體流程大致如下

用Swift編寫自動錄音器

準(zhǔn)備工作
這個項目使用swift寫的,設(shè)置的成員變量如下

如果你不是在董鉑然博客園看到本文請點擊查看原文。

// 錄音器var recoder:AVAudioRecorder!// 監(jiān)聽器var monitor:AVAudioRecorder!// 播放器var player:AVAudioPlayer!// 定時器var timer:NSTimer!// 錄音器的URLvar recordURL:NSURL!// 監(jiān)聽器的URLvar monitorURL:NSURL!

當(dāng)然這些屬性不能直接敲出來需要先引入一個橋接文件并導(dǎo)入#import <AVFoundation/AVFoundation.h>

導(dǎo)入如果出現(xiàn)問題可以看下此文 : 怎么讓OC與swift混合開發(fā)

在程序啟動時應(yīng)將錄音器,監(jiān)聽器,定時器一同初始化。

在那之前需要先設(shè)置好音頻的保存質(zhì)量,這其中會用到很多庫里自帶的key,AVSampleRateKey,AVFormatIDKey,AVNumberOfChannelsKey,AVEncoderAudioQualityKey這些key對應(yīng)的值一般為double類型或int類型。一一解釋沒有必要,大概意思就是保存聲音的Hertz(類似于QQ音樂的無損和普通),轉(zhuǎn)化率,保存的聲道,聲音品質(zhì)等等。有興趣的可以仔細(xì)去頭文件里研究研究。我就查了下所有參數(shù)的最高品質(zhì)發(fā)現(xiàn)錄完之后大小也可以接受就用最高品質(zhì)了。(但是微信說話那種發(fā)的應(yīng)該是中下品質(zhì),省流量且時效性為主)

 

復(fù)制代碼代碼如下:

AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord, error:nil)
var recoderSetting:NSDictionary = NSDictionary(objectsAndKeys: 14400.0,AVSampleRateKey,kAudioFormatAppleIMA4,AVFormatIDKey,2,AVNumberOfChannelsKey,0x7F,AVEncoderAudioQualityKey)

 


這其中有個參數(shù)應(yīng)該是AVAudioQuality.Max類型但是swift不能識別,就直接查看里面的常量用十六進制填進去了。總的來說就是先用一個字典把所有的鍵值對都存好然后這個字典會用在后面實例化錄音器中的一個參數(shù)。

初始化錄音器的方法如下,監(jiān)聽器完全相似只需要另改一個URL

 

復(fù)制代碼代碼如下:

// 實例化錄音器
var recordPath = NSTemporaryDirectory().stringByAppendingPathComponent("record.caf")
recordURL = NSURL.fileURLWithPath(recordPath)
recoder = AVAudioRecorder(URL: recordURL, settings:recoderSetting as [NSObject : AnyObject], error: nil)

 

 
開始錄音
核心功能是錄音,錄音的原理是監(jiān)聽聲音分貝的大小,自己設(shè)置臨界點開啟和關(guān)閉錄音。

如果聲音一直很小不作處理。
如果聲音大了先判斷現(xiàn)在是否在錄音如果沒有則開始錄音。
如果聲音小了先判斷現(xiàn)在是否在錄音如果在錄音則停止錄音。

func updateTimer(){  // 更新測量器 self.monitor.updateMeters() // 獲得說話的分貝 var power = self.monitor.peakPowerForChannel(0);  println("-----》/(power)")  if (power > -30){ if(!self.recoder.recording){  println("開始錄音")  self.recoder.record() } }else { if(self.recoder.recording){  println("結(jié)束錄音")  self.recoder.stop()  self.play() }  }

嘗試的結(jié)果如下打印,其中數(shù)值就是一直監(jiān)聽分貝數(shù)。極安靜的情況下是-160 嘈雜環(huán)境一般是-40起。

用Swift編寫自動錄音器

播放聲音
錄音完成后可以直接設(shè)置馬上播放聲音

func play(){ timer.invalidate() monitor.stop() // 刪除錄音緩存 monitor.deleteRecording() player = AVAudioPlayer(contentsOfURL: recordURL, error: nil) player.delegate = self player.play()}

上面圖中的定時器停止-監(jiān)聽器停止-刪除監(jiān)聽器的緩存 在這塊代碼中都有體現(xiàn)。這里建議設(shè)置一下代理,因為即使是播放一次在播放完成后也很可能會做一些額外操作,并且此項目的期望是能夠循環(huán)的錄音播放。即播放完打開定時器,監(jiān)聽器重新開始總流程。

 
延展操作
代理遵守的是AVAudioPlayerDelegate 。并實現(xiàn)代理方法,在代理方法中調(diào)用之前開啟的方法

func audioPlayerDidFinishPlaying(player: AVAudioPlayer!, successfully flag: Bool) { // 重新開啟定時器 self.setupTimer()}func setupTimer(){ self.monitor.record() self.timer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: "updateTimer", userInfo: nil, repeats: true)}

到此為止一個完整的錄音流程就結(jié)束了。

也可以做一些特殊操作就是類似于會說話的湯姆貓并不是把你說的話原話說出,而是對聲音做了一定的處理再說出的。如果想實現(xiàn)此功能需要再聲音播放前,先開啟聲音預(yù)播放,并且設(shè)置一些更改聲音的操作最后再播放以達到目的。大部分的屬性在修改前都需要打開一個BOOL值才能操作。舉例如下(把上面的play()換成下面代碼

 

復(fù)制代碼代碼如下:

// 允許更改速度
player.enableRate = true
// 設(shè)置速度
player.rate = 2
player.play()

 

這個屬性rate的取值范圍是0.5到2.0。原生的好像就找到這一個其他的改聲調(diào)等應(yīng)該還需要引用第三方庫。

以上內(nèi)容就是用Swift實現(xiàn)自動錄音的功能,希望大家能夠喜歡



注:相關(guān)教程知識閱讀請移步到swift教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
亚洲天堂免费视频| 免费观看国产成人| 欧美成人黑人| 在线播放亚洲精品| 99精品一区二区| 欲香欲色天天天综合和网| 亚洲成人日韩在线| 色成人在线视频| 欧美中文高清| 欧美成人高清| 伊大人久久香线焦宗合一75大| 欧美成人综合在线| 中文字幕免费国产精品| 久久99精品久久久久久| 国产一区二区三区久久久| 国产精品久久久久久久久夜色| 日韩三级在线观看| 成人性生交大片免费看中文网站| 国产浴室偷窥在线播放| 欧美日韩久久一区二区| 国产精品日韩精品| 亚洲大尺度在线观看| 日韩精品中文字幕在线不卡尤物| 日本中文字幕精品—区二区| 电影天堂久久| 国产精品女人毛片| 亚洲天天做日日做天天谢日日欢| 日韩欧美国产三级电影视频| 中文字幕在线免费观看| 欧美成a人片免费观看久久五月天| 国产老头和老头xxxx×| 午夜影院在线观看欧美| 亚洲国产91| 手机av在线免费| 国产精品专区一| 色一区二区三区四区| 国产伦精品一区二区三区四区视频| 在线观看免费亚洲| 不用播放器成人网| ckplayer中文字幕| 亚洲成人精品视频在线观看| 91中文在线| 疯狂做受xxxx欧美肥白少妇| 精品婷婷伊人一区三区三| 欧美日韩免费观看一区| 综合久久十次| 亚洲激情在线播放| 美女一区二区三区视频| 高清在线视频不卡| 免费成人在线观看| 欧美日韩在线亚洲一区蜜芽| 久久国产精品久久精品国产| 欧美激情高清视频| 日本黄色免费在线| 国产精品婷婷| 热这里只有精品| 91深夜福利| 亚洲国产97在线精品一区| 久久99热只有频精品91密拍| xxx欧美老熟| 国产51人人成人人人人爽色哟哟| 亚洲天堂av一区二区| 亚洲av熟女国产一区二区性色| hd国产人妖ts另类视频| 国产第一页在线观看| 日本激情视频网| 99草在线视频| 日韩欧美在线视频日韩欧美在线视频| 亚洲精品欧美一区二区三区| 一级片视频免费看| 欧美激情视频网| 国产美女无遮挡永久免费| 韩国精品视频| 97视频在线免费| 伊人久久大香线蕉av超碰演员| 日韩美女毛茸茸| 亚欧无线一线二线三线区别| 亚洲精品国产精品乱码不卡| 岛国大片在线免费观看| 中文字幕理论片| 欧美日韩在线免费视频| 国产精品91xxx| 色综合久久中文综合久久牛| 图片小说视频色综合| 欧美一区亚洲一区| 狠狠色狠狠色综合人人| 亚洲精品国产一区二区三区四区在线| 久久久99久久精品女同性| 日b视频免费观看| 2021中文字幕在线| 又黄又爽在线观看| 国产精品毛片aⅴ一区二区三区| 北条麻妃在线一区二区免费播放| 四虎精品成人免费网站| 日本公妇乱淫免费视频一区三区| 中文字幕在线观看成人| 偷偷要91色婷婷| 亚洲男人天堂网址| 国产精品成人免费一区二区视频| 午夜精品福利视频网站| 久久精品国产亚洲精品| 日韩aⅴ视频一区二区三区| 欧美美女黄色网| 在线观看日本黄色| 亚洲国产合集| 在线观看国产91| 欧美伊人久久大香线蕉综合69| 久久只有精品| 亚洲欧美日韩精品久久久久| 国产一区日韩一区| 久久久午夜精品福利内容| 国产精品啊啊啊| 91九色在线观看| 男人天堂综合网| 国产精品亚洲综合| 日韩精品久久久久久久电影99爱| 免费网站永久免费观看| 男人天堂2024| 国产成人精品一区二区在线小狼| h片精品在线观看| 亚洲一区二区中文字幕| 国产又粗又长又爽又黄的视频| eeuss影院www天堂免费| av片在线观看网站| 免费99热在线观看| 麻豆精品久久久久久久99蜜桃| 亚洲欧洲色图综合| 四虎国产精品免费| 久久亚洲精品毛片| 亚洲国模精品私拍| 欧美大片免费播放器| 欧美日韩国产123区| 欧美艳星brazzers| 欧美卡一卡二| 国产一区二区精品在线| 日韩精品久久久久久免费| 精品人妻av一区二区三区| 日本免费一区二区三区四区| 日本精品在线一区| 中国成人一区| 中文字幕一区二区三中文字幕| 久久久久亚洲av无码专区| 免费网站看av| 色欲欲www成人网站| 午夜欧美理论片| y97精品国产97久久久久久| 神马久久精品| 日韩成人午夜电影| 羞羞视频在线免费国产| 成人网6969conwww| 播放一区二区| 色多多视频网站| 日韩制服一区| 欧美人与禽zoz0善交| 久久综合久久综合久久| 成人做爰69片免费| 黄色正能量网站| 视频免费裸体网站| 国产精品日韩在线| 亚洲特级黄色片| 国产在线视频不卡| 亚洲精品国产精品乱码不卡| 九色91porny| 99久久久成人国产精品| 国产精品igao视频| 免费又爽又黄禁片视频1000片| 成av人片一区二区| 在线观看视频亚洲| 国产精品亚洲色图| 精品中文字幕在线| 久久久久久久激情视频| 久久久久女教师免费一区| 黄网站在线观看| 一区二区三区在线高清| 中文字幕精品视频| a毛片毛片av永久免费| 久久久久国色av免费看影院| 夜夜躁很很躁日日躁麻豆| 精品国产老师黑色丝袜高跟鞋| 最新国产在线视频| 北条麻妃国产九九九精品小说| 亚洲一二三四五六区| 97人妻精品视频一区| 五月婷婷六月色| 久久精品—区二区三区舞蹈| 精品国产伦一区二区三区观看说明| 欧美成人久久| 国产精品久久久久久免费播放| 国产精品白浆流出视频| 91国产在线精品| 国产一区二区视频在线观看免费| 四虎国产精品成人免费4hu| 欧美性色欧美a在线播放| 日韩在线视频国产| 视频一区中文字幕精品| 亚洲男女av一区二区| 超碰97人人射妻| 久久久久久毛片| 四虎精品永久在线| 国产一区二区精品在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲日本中文字幕在线| 男人先锋资源| 久热精品在线观看视频| 伊人精品在线| 精品视频91| 男的操女的网站| 欧美大片第1页| 懂色av中文字幕一区二区三区| 成人日韩视频| av3级在线| jizz欧美| 欧美中文一区二区| ●精品国产综合乱码久久久久| 日本vs亚洲vs韩国一区三区二区| 在线亚洲一区| www.成人在线| 国产一区二区动漫| av激情亚洲男人天堂| 国产淫片免费看| 成人免费毛片aaaaa**| 天天色天天操天天做| 印度午夜性春猛xxx交| 超碰在线电影| 成人福利网站在线观看| 中文字幕第88页| 狠狠色综合欧美激情| 欧美精品一二| 欧美日韩成人| 精品久久久久久久久久| 天天看天天色| 亚洲人午夜精品免费| 日韩高清不卡| 久久资源av| 国产狂喷白浆在线观看视频| 妖精视频一区二区三区免费观看| 久久免费福利视频| a黄色在线观看| 亚洲精品一区二区三区中文字幕| 国产伦精品一区二区三区视频金莲| 久久国产欧美日韩精品| 在线免费av网址| 国产精品免费入口| 7m精品国产导航在线| 涩涩涩久久久成人精品| 精品国产999久久久免费| 国产精品自拍合集| 国产欧美一区二区三区国产幕精品| 新天天拍日日拍狠狠拍| 欧美老人xxxx18| 青花影视在线观看免费高清| 超碰caoporn久久| 亚洲区欧美区| 国产精品久久久久久久久快鸭| 牛牛视频精品一区二区不卡| 扒开腿狂躁女人爽出白浆2| 欧州一区二区| 日韩精品久久久久久久的张开腿让| 日本免费专区| 欧美午夜在线视频| 国产私人影院| 精品推荐国产麻豆剧传媒| 北条麻妃一区二区三区在线观看| 一级片中文字幕| 91精品国产综合久久香蕉的特点| 亚洲激情偷拍| 国产无套粉嫩白浆内谢的出处| 中文字幕乱码人妻综合二区三区| 无码人妻精品中文字幕| 666av成人影院在线观看| 午夜精品一区二区三区国产| 青青操视频在线观看| 精品av一区二区| 精品xxxxxbbbb欧美中文| 9191在线观看| 北条麻妃国产九九九精品小说| 日韩一区二区在线免费| 毛片免费在线播放| 麻豆91精品91久久久的内涵| 97caocao| eeuss影院www天堂免费| 亚洲999一在线观看www| 狠狠色噜噜狠狠狠| 国产高潮又爽又无遮挡又免费| 欧美日韩一级片在线观看| 这里只有精品9| 暗呦丨小u女国产精品| 激情视频国产| 欧美顶级xxxxbbbb| 精品久久久视频| 婷婷成人激情在线网| 久久久久亚洲av片无码下载蜜桃| http://嫩草影院| 天天想你在线观看完整版电影免费| 日韩永久免费视频| 自拍偷拍亚洲在线| 亚洲精品极品少妇16p| 久久r热视频| 国产中文字幕在线免费观看| 精品欧美激情精品一区| 欧美精品99久久久**| 亚洲一区二区欧美| 久久精品国产精品亚洲精品| 潘金莲一级淫片aaaaaaa| 欧美在线一二三区| 国精产品一区| 丁香啪啪综合成人亚洲| 国产91久久精品一区二区| 不卡影院免费观看| 丝袜美腿诱惑一区二区三区| 国产精品无码在线| 你懂的网址国产 欧美| 97在线免费观看视频| 欧美黄色免费影院| 妖精视频一区二区三区免费观看| 综合久久av| 国产精品99在线观看| 激情欧美一区二区三区黑长吊| 一本一本久久a久久精品综合小说| 99色这里只有精品| 人妻无码一区二区三区四区| 神马影院一区二区| 亚洲人成网站77777在线观看| 亚洲人视频在线观看| 欧美黑人xxxⅹ高潮交| 国产黄色片在线播放| 色婷婷视频在线| 特黄aaaaaaaaa真人毛片|