從視頻中提取wav格式的音頻

        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

                }

            }

        }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末勉失,一起剝皮案震驚了整個(gè)濱河市丽啡,隨后出現(xiàn)的幾起案子漓摩,更是在濱河造成了極大的恐慌枚尼,老刑警劉巖迅皇,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稽穆,死亡現(xiàn)場(chǎng)離奇詭異澜建,居然都是意外死亡午乓,警方通過查閱死者的電腦和手機(jī)站宗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來益愈,“玉大人梢灭,你說我怎么就攤上這事夷家。” “怎么了敏释?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵库快,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我钥顽,道長(zhǎng)义屏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任蜂大,我火速辦了婚禮闽铐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘奶浦。我一直安慰自己兄墅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布澳叉。 她就那樣靜靜地躺著隙咸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪成洗。 梳的紋絲不亂的頭發(fā)上五督,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音瓶殃,去河邊找鬼充包。 笑死,一個(gè)胖子當(dāng)著我的面吹牛遥椿,可吹牛的內(nèi)容都是我干的误证。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼修壕,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了遏考?” 一聲冷哼從身側(cè)響起慈鸠,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎灌具,沒想到半個(gè)月后青团,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡咖楣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年督笆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诱贿。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡娃肿,死狀恐怖咕缎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情料扰,我是刑警寧澤凭豪,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站晒杈,受9級(jí)特大地震影響嫂伞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拯钻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一帖努、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧粪般,春花似錦拼余、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至捆憎,卻和暖如春舅柜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背躲惰。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工致份, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人础拨。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓氮块,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親诡宗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子滔蝉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

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

  • 我原以為二十多歲,會(huì)去看星辰大海塔沃,落日余暉蝠引,沒想到到了談婚論嫁的年齡,我還在找自己的路上蛀柴,我一直認(rèn)為自己想要的是快...
    偽善灬閱讀 53評(píng)論 0 0
  • 歲月匆匆不知愁鸽疾。 每個(gè)人的性格吊洼,各有不同,這可能是因?yàn)槭艿礁髯圆煌纳瞽h(huán)境中的很多種因素的影響制肮,再加上每個(gè)人各自...
    Sunny06e閱讀 254評(píng)論 0 20
  • 今日體驗(yàn)冒窍,任何的招式方法都抵不過一顆全力以赴的責(zé)任心递沪。 核心,不會(huì)可以想辦法超燃,整不明白可以學(xué)習(xí)区拳,關(guān)鍵是用不用心。 ...
    王海博閱讀 37評(píng)論 0 0
  • 若想人生一路向前意乓, 就不要頻頻回眸樱调。 從前種種,譬如昨日死届良; 往后種種笆凌,譬如今日生。 往后余生士葫, 愿你我都能忘記該...
    換種風(fēng)格閱讀 86評(píng)論 0 6
  • 潘蔚閱讀 73評(píng)論 0 0