guard let lastPathComponent = resourceModel?.path.deletingPathExtension.lastPathComponent else { return }
let resultPath = path.appendingPathComponent(lastPathComponent).appending(".wav")
if fileManager.fileExists(atPath: resultPath) {
do{
try fileManager.removeItem(atPath: resultPath)
}catch{
print(error.localizedDescription)
}
}
let videoAsset = AVAsset(url:URL(fileURLWithPath:resourceModel?.path ?? ""))
let audioTrack = videoAsset.tracks(withMediaType:AVMediaType.audio).first!
let outputFileURL =URL(fileURLWithPath: resultPath)
let assetReader =try! AVAssetReader(asset: videoAsset)
// 配置音頻輸出設(shè)置
let outputSettings: [String:Any] = [
AVFormatIDKey : Int(kAudioFormatLinearPCM),
AVLinearPCMBitDepthKey : 16,
AVLinearPCMIsBigEndianKey : false,
AVLinearPCMIsFloatKey : false,
AVLinearPCMIsNonInterleaved : false,
AVSampleRateKey:16000,
AVNumberOfChannelsKey: 1
]
let output = AVAssetReaderAudioMixOutput(audioTracks: [audioTrack],
audioSettings: outputSettings)
assetReader.add(output)
let assetWriter =try! AVAssetWriter(outputURL: outputFileURL,fileType:AVFileType.wav)
let input = AVAssetWriterInput(mediaType:AVMediaType.audio,outputSettings: outputSettings)
assetWriter.add(input)
assetWriter.startWriting()
assetReader.startReading()
assetWriter.startSession(atSourceTime:CMTime(value:0,timescale:30))
let queue = DispatchQueue(label:"audioextractor")
input.requestMediaDataWhenReady(on: queue) {
while input.isReadyForMoreMediaData&& assetReader.status == .reading{
if let buffer = output.copyNextSampleBuffer() {
input.append(buffer)
} else {
input.markAsFinished()
assetWriter.finishWriting{
// 處理導(dǎo)出完成事件
self.loadVoiceToText(resultPath)
}
break
}
}
}
從視頻中提取wav格式的音頻
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來益愈,“玉大人梢灭,你說我怎么就攤上這事夷家。” “怎么了敏释?”我有些...
- 文/不壞的土叔 我叫張陵库快,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我钥顽,道長(zhǎng)义屏,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任蜂大,我火速辦了婚禮闽铐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘奶浦。我一直安慰自己兄墅,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布澳叉。 她就那樣靜靜地躺著隙咸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪成洗。 梳的紋絲不亂的頭發(fā)上五督,一...
- 文/蒼蘭香墨 我猛地睜開眼修壕,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了遏考?” 一聲冷哼從身側(cè)響起慈鸠,我...
- 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎灌具,沒想到半個(gè)月后青团,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡咖楣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年督笆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诱贿。...
- 正文 年R本政府宣布,位于F島的核電站晒杈,受9級(jí)特大地震影響嫂伞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拯钻,卻給世界環(huán)境...
- 文/蒙蒙 一帖努、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧粪般,春花似錦拼余、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至捆憎,卻和暖如春舅柜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背躲惰。 一陣腳步聲響...
- 正文 我出身青樓氮块,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親诡宗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子滔蝉,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 我原以為二十多歲,會(huì)去看星辰大海塔沃,落日余暉蝠引,沒想到到了談婚論嫁的年齡,我還在找自己的路上蛀柴,我一直認(rèn)為自己想要的是快...
- 歲月匆匆不知愁鸽疾。 每個(gè)人的性格吊洼,各有不同,這可能是因?yàn)槭艿礁髯圆煌纳瞽h(huán)境中的很多種因素的影響制肮,再加上每個(gè)人各自...
- 今日體驗(yàn)冒窍,任何的招式方法都抵不過一顆全力以赴的責(zé)任心递沪。 核心,不會(huì)可以想辦法超燃,整不明白可以學(xué)習(xí)区拳,關(guān)鍵是用不用心。 ...
- 若想人生一路向前意乓, 就不要頻頻回眸樱调。 從前種種,譬如昨日死届良; 往后種種笆凌,譬如今日生。 往后余生士葫, 愿你我都能忘記該...