[發(fā)明專利]一種音頻豎線波形圖的生成方法有效
| 申請?zhí)枺?/td> | 201810163270.2 | 申請日: | 2018-02-27 |
| 公開(公告)號: | CN108399921B | 公開(公告)日: | 2021-09-24 |
| 發(fā)明(設(shè)計)人: | 郭艷杰 | 申請(專利權(quán))人: | 北京酷我科技有限公司 |
| 主分類號: | G10L19/00 | 分類號: | G10L19/00;G10L19/16 |
| 代理公司: | 北京國標(biāo)律師事務(wù)所 11753 | 代理人: | 姚克楓 |
| 地址: | 100080 北京市海淀區(qū)農(nóng)大*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 音頻 豎線 波形 生成 方法 | ||
1.一種音頻豎線波形圖的生成方法,其特征在于,包括如下步驟:
為一個音頻文件創(chuàng)建AVAsset對象,
通過AVAsset對象讀取音頻文件中的音軌AudioTrack,
通過AVAsset對象讀取音頻文件中的ASBD數(shù)據(jù)結(jié)構(gòu),得到音頻文件描述信息,
所述ASBD數(shù)據(jù)結(jié)構(gòu)定義了一個音頻流最普遍的特征:有多少聲道,在什么格式下,比特率,
獲取音頻文件描述信息中記錄的中的聲道數(shù)Channel和采樣率sampleRate,
將音頻文件描述信息中記錄的音頻總時間轉(zhuǎn)換為總幀數(shù),得到總采樣幀數(shù),
將總采樣幀數(shù)除以波形圖寬度對應(yīng)的像素的個數(shù),得到每像素需要展現(xiàn)的幀數(shù),
生成波形圖中的豎線線條時,首先按波形圖寬度對應(yīng)的像素的個數(shù)建立同樣數(shù)量的矩形區(qū)域Layer,然后按每像素一個Layer排列,最后對音軌AudioTrack中的音頻數(shù)據(jù)進(jìn)行格式化,設(shè)定矩形區(qū)域Layer的高度。
2.如權(quán)利要求1所述的音頻豎線波形圖的生成方法,其特征在于:通過AVAsset對象的AVAssetReader方法從原始數(shù)據(jù)里獲取解碼后的音頻數(shù)據(jù),
將音頻數(shù)據(jù)通過AVAsset對象的ReaderTrackOutput方法形成音頻流。
3.如權(quán)利要求2所述的音頻豎線波形圖的生成方法,其特征在于:音頻流存入名稱為NextSampleBuffer的數(shù)據(jù)緩沖中,
名稱為NextSampleBuffer的數(shù)據(jù)緩沖包括以下屬性:
緩沖長度bufferLength,
緩沖地址bufferAddress,
其中,通過計算將緩沖長度bufferLength轉(zhuǎn)換為buffer幀數(shù),按幀循環(huán)讀取當(dāng)前緩沖,
如果當(dāng)前幀數(shù)小于每像素展現(xiàn)幀數(shù),則當(dāng)前像素音頻數(shù)據(jù)加緩沖地址,且所述緩沖地址強(qiáng)制轉(zhuǎn)換為Float數(shù)據(jù)進(jìn)行累加,
如果當(dāng)前幀數(shù)等于或大于每像素展現(xiàn)幀數(shù),則視為讀滿了一個像素的數(shù)據(jù)。
4.如權(quán)利要求3所述的音頻豎線波形圖的生成方法,其特征在于:在當(dāng)前幀數(shù)等于或大于每像素展現(xiàn)幀數(shù)時,計算總采樣幀數(shù)/像素幀數(shù)得到像素音頻均值,保存像素音頻均值到音頻數(shù)據(jù),
在音頻數(shù)據(jù)小于波形圖寬時,重復(fù)讀取下一像素數(shù)據(jù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京酷我科技有限公司,未經(jīng)北京酷我科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810163270.2/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





