Swift3.0 錄音使用

關(guān)于錄音反正都是調(diào)用系統(tǒng)的東西女轿,沒啥好說的蓉媳,直接上流程


var recorder:AVAudioRecorder? //錄音器

var recorderSeetingsDic:[String : Any]! //錄音器設(shè)置參數(shù)數(shù)組

var volumeTimer:Timer! //定時(shí)器線程岭粤,循環(huán)監(jiān)測錄音的音量大小

var aacPath:String! //錄音存儲(chǔ)路徑

let docDir = NSSearchPathForDirectoriesInDomains(.documentDirectory,

.userDomainMask, true)[0]//獲取手機(jī)根目錄

var musicPlayer = AVAudioPlayer()//播放器

//初始化錄音器

let session:AVAudioSession = AVAudioSession.sharedInstance()

//設(shè)置錄音類型

try! session.setCategory(AVAudioSessionCategoryPlayAndRecord)

//初始化字典并添加設(shè)置參數(shù)

recorderSeetingsDic =

[

AVFormatIDKey: NSNumber(value: kAudioFormatMPEG4AAC),

AVNumberOfChannelsKey: 2, //錄音的聲道數(shù),立體聲為雙聲道

AVEncoderAudioQualityKey : AVAudioQuality.max.rawValue,

AVEncoderBitRateKey : 320000,

AVSampleRateKey : 44100.0 //錄音器每秒采集的錄音樣本數(shù)

]

判斷路徑文件夾是否存在

recordPath = docDir + "/sound"

let fileManager = FileManager.default

//? ? ? ? let exist = fileManager.fileExists(atPath: recordPath)?

let exist = fileManager.fileExists(atPath: recordPath)

if exist == false {

try! fileManager.createDirectory(atPath: recordPath,withIntermediateDirectories: true, attributes: nil)

//? ? ? ? ? ? try! fileManager

}

let currentDate = Date()

let dateFormatter = DateFormatter()

dateFormatter.dateFormat = "yyyyMMddHHmmss"

let myStr = dateFormatter.string(from: currentDate)

aacPath = recordPath + "/\(myStr).aac"

print(aacPath)

recorder = try! AVAudioRecorder(url: URL(string: aacPath)!,settings: recorderSeetingsDic!)

if recorder != nil {

//開啟儀表計(jì)數(shù)功能

recorder!.isMeteringEnabled = true

//準(zhǔn)備錄音

recorder!.prepareToRecord()


//開始錄音

recorder!.record()

}

//停止錄音

recorder?.stop()

//錄音器釋放

recorder = nil

//暫停定時(shí)器

volumeTimer.invalidate()

volumeTimer = nil

開始播放

func startPlay() {

if (userDefult.value(forKey: "mySelectBtn") == nil) {

print(myIndex)

userDefult.setValue(myIndex.row, forKey: "mySelectBtn")

playSound()

}else{

linkRow = userDefult.value(forKey: "mySelectBtn") as! Int

if linkRow != myIndex.row {

let myindex :IndexPath = IndexPath(row: linkRow, section: 0)

userDefult.setValue(myIndex.row, forKey: "mySelectBtn")

DispatchQueue.main.async {

let mycell = self.recordTable.cellForRow(at: myindex) as! RecordTableViewCell

mycell.playBtn.isSelected = false

}

}

playSound()

}

}


func playSound(){

let sound = recordPath + "/\(titleArr[myIndex.row])"

//? ? ? ? 播放

print(sound)

player = try! AVAudioPlayer(contentsOf: URL(string: sound)!)

player?.delegate = self

if player == nil {

print("播放失敗")

}else{

player?.volume = 1.0

player?.prepareToPlay()

player?.play()

}

}

暫停播放

func stopPlay(){

if player == nil {

print("停止失敗")

}else{

player?.currentTime = 0

player?.stop()

}

}

//播放完成監(jiān)聽

func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {

print("owari")

let cell = self.recordTable.cellForRow(at: myIndex) as! RecordTableViewCell

cell.playBtn.isSelected = false

}


錄音的使用大致就是這樣实柠,只是還有小部分代碼沒有放上來姥宝,不過基本的流程就是這樣的,等我時(shí)間充裕點(diǎn)再把錄音單獨(dú)從項(xiàng)目里面拿出來其骄。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末亏镰,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子拯爽,更是在濱河造成了極大的恐慌索抓,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件毯炮,死亡現(xiàn)場離奇詭異逼肯,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)桃煎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門篮幢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人为迈,你說我怎么就攤上這事三椿。” “怎么了葫辐?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵搜锰,是天一觀的道長。 經(jīng)常有香客問我耿战,道長蛋叼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任剂陡,我火速辦了婚禮鸦列,結(jié)果婚禮上租冠,老公的妹妹穿的比我還像新娘鹏倘。我一直安慰自己薯嗤,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布纤泵。 她就那樣靜靜地躺著骆姐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪捏题。 梳的紋絲不亂的頭發(fā)上玻褪,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機(jī)與錄音公荧,去河邊找鬼带射。 笑死,一個(gè)胖子當(dāng)著我的面吹牛循狰,可吹牛的內(nèi)容都是我干的窟社。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼绪钥,長吁一口氣:“原來是場噩夢啊……” “哼灿里!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起程腹,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤匣吊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后寸潦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體色鸳,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年见转,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了命雀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡池户,死狀恐怖咏雌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情校焦,我是刑警寧澤赊抖,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站寨典,受9級(jí)特大地震影響氛雪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜耸成,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一报亩、第九天 我趴在偏房一處隱蔽的房頂上張望浴鸿。 院中可真熱鬧,春花似錦弦追、人聲如沸岳链。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽掸哑。三九已至,卻和暖如春零远,著一層夾襖步出監(jiān)牢的瞬間苗分,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工牵辣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留摔癣,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓纬向,卻偏偏與公主長得像择浊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子罢猪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容