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

首頁 > 學院 > 開發設計 > 正文

用swift實現自動錄音器

2019-11-14 18:37:58
字體:
來源:轉載
供稿:網友

基本介紹

自動錄音一般錄音區別在:不用像微信那樣按下錄音-松手結束,而是根據說話聲音的大小自動判斷該錄音和該停止的點,然后可以做到結束錄音之后馬上播放出來。類似于達到會說話的湯姆貓那樣的效果。

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

準備工作

這個項目使用swift寫的,設置的成員變量如下

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

    // 錄音器    var recoder:AVAudioRecorder!    // 監聽器    var monitor:AVAudioRecorder!    // 播放器    var player:AVAudioPlayer!    // 定時器    var timer:NSTimer!    // 錄音器的URL    var recordURL:NSURL!    // 監聽器的URL    var monitorURL:NSURL!

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

導入如果出現問題可以看下此文 : 怎么讓OC與swift混合開發

 

在程序啟動時應將錄音器,監聽器,定時器一同初始化。

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

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

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

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

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

 

開始錄音

核心功能是錄音,錄音的原理是監聽聲音分貝的大小,自己設置臨界點開啟和關閉錄音。(董鉑然)

  • 如果聲音一直很小不作處理。
  • 如果聲音大了先判斷現在是否在錄音如果沒有則開始錄音。
  • 如果聲音小了先判斷現在是否在錄音如果在錄音則停止錄音。
    func updateTimer(){        // 更新測量器        self.monitor.updateMeters()        // 獲得說話的分貝        var power = self.monitor.peakPowerForChannel(0);                

嘗試的結果如下打印,其中數值就是一直監聽分貝數。極安靜的情況下是-160 嘈雜環境一般是-40起。

 

播放聲音

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

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

 

延展操作

代理遵守的是AVAudioPlayerDelegate 。并實現代理方法,在代理方法中調用之前開啟的方法

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

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

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

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

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美最近摘花xxxx摘花| 国产一区二区激情| 精品伊人久久97| 亚洲欧美一区二区精品久久久| 色哟哟网站入口亚洲精品| 亚洲**2019国产| 91精品国产高清久久久久久| 日韩亚洲精品视频| 狠狠久久五月精品中文字幕| 日韩精品极品毛片系列视频| 66m—66摸成人免费视频| 日韩亚洲国产中文字幕| 欧美性精品220| 国产精品∨欧美精品v日韩精品| 97成人精品区在线播放| 久久精品视频导航| 久久免费在线观看| 成人欧美一区二区三区黑人| 久久久久久久影院| 国产91精品久| 精品久久久久久久大神国产| 亚洲人成在线观看网站高清| 欧美午夜www高清视频| 国产精品成人观看视频国产奇米| 日韩hd视频在线观看| 久久久久久久影视| 97精品久久久中文字幕免费| 欧美中文在线免费| 777精品视频| 国产精品免费久久久久久| 欧美性猛交99久久久久99按摩| 亚洲tv在线观看| 最近2019年中文视频免费在线观看| 久久精品99久久久香蕉| 91av网站在线播放| 欧美综合国产精品久久丁香| 国产丝袜一区二区三区| 亚洲丝袜在线视频| 国产精品美女www爽爽爽视频| 亚洲自拍偷拍网址| 国产丝袜一区视频在线观看| zzjj国产精品一区二区| 国产精品久久97| 日韩欧美在线国产| 色爱精品视频一区| 日韩中文字幕免费| 在线看福利67194| 欧美丝袜美女中出在线| 欧美在线国产精品| 国产一区二区三区欧美| 91色在线观看| 亚洲综合社区网| 欧美激情xxxx性bbbb| 久久精品国产一区| 亚洲色图35p| 日韩一区二区欧美| 在线观看日韩视频| 欧美成人在线免费| 国产精品无码专区在线观看| 欧美电影免费观看高清| 欧美激情啊啊啊| 一区二区亚洲精品国产| 成人国产精品一区二区| 日韩一级裸体免费视频| 国产精品女人久久久久久| 精品久久中文字幕久久av| 久久久视频免费观看| 国产视频亚洲精品| 国产精品私拍pans大尺度在线| 日韩在线观看免费全集电视剧网站| 少妇av一区二区三区| 欧美乱大交xxxxx| 日韩最新中文字幕电影免费看| 欧美高清视频在线观看| 久久国产精品久久久久| 久久精品99久久久久久久久| 久久成人人人人精品欧| 亚洲国产欧美久久| 久久久999成人| 国产精品永久在线| 亚洲午夜精品视频| 国产精品日韩久久久久| 欧美在线xxx| 亚洲精品欧美日韩| 久久久久久久电影一区| 日韩中文字幕亚洲| 亚洲天堂av网| 国产精品一区二区三区免费视频| 日本亚洲欧洲色| 91国偷自产一区二区三区的观看方式| 国产精品极品尤物在线观看| 26uuu日韩精品一区二区| 国产精品一久久香蕉国产线看观看| 日韩电影中文字幕在线观看| 一区二区亚洲欧洲国产日韩| 欧美日韩成人网| 国内外成人免费激情在线视频| 亚洲欧美日本另类| 久久国产精彩视频| 在线观看久久av| 久久久久久久久久久91| 国产欧美日韩专区发布| 另类色图亚洲色图| 亚洲欧洲午夜一线一品| 国产日韩精品视频| 疯狂做受xxxx高潮欧美日本| 亚洲黄一区二区| 亚洲精品av在线播放| 国模视频一区二区三区| 国产精品96久久久久久又黄又硬| 欧美视频13p| 欧美一区深夜视频| 久久香蕉精品香蕉| 国产精品久久久久久亚洲调教| 91香蕉国产在线观看| 日韩成人在线观看| 日韩av电影中文字幕| 性夜试看影院91社区| 91精品啪aⅴ在线观看国产| 成人写真福利网| 亚洲一区二区三区视频| 欧美电影免费观看大全| 国产欧美日韩精品在线观看| 欧美激情成人在线视频| 97在线看免费观看视频在线观看| 亚洲欧洲成视频免费观看| 亚洲护士老师的毛茸茸最新章节| 亚洲综合色激情五月| 日韩电影免费在线观看中文字幕| 国产精品高潮在线| 一区二区三区视频在线| 国产亚洲欧美日韩美女| 国产精品普通话| 国产日韩综合一区二区性色av| 欧美视频在线看| 国产精品国内视频| 日韩av在线免费| 视频直播国产精品| 中国日韩欧美久久久久久久久| 日韩国产中文字幕| 精品国产一区二区三区在线观看| 97色在线视频观看| 91亚洲一区精品| 国产精品美腿一区在线看| 欧美成人精品一区二区| 欧美激情国内偷拍| 91亚洲精品一区二区| 精品视频在线观看日韩| 日韩国产高清污视频在线观看| 精品久久久久久久久久ntr影视| 国产91|九色| 91精品国产色综合| 大胆欧美人体视频| 91chinesevideo永久地址| 91欧美精品午夜性色福利在线| 久久国产精品网站| 欧美男插女视频| 亚洲一区二区三区在线免费观看| 日韩中文字幕在线看| 久久精品青青大伊人av| 97国产精品视频人人做人人爱| 亚洲激情自拍图| 疯狂做受xxxx欧美肥白少妇| 成人黄色av免费在线观看|