电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Android 如何采用Lame編碼器編碼mp3文件

瀏覽:3日期:2022-09-20 15:53:20

這篇文章會基于下面3個問題來展開講解。

1、什么是Lame?

2、為什么采用Lame?

3、Lame在Android應用上如何使用?

一、什么是Lame

我們看下Lame官網(lame.sourceforge.io/index.php)給的描述

LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.

翻譯成中文就是:LAME是一個高質量的MPEG音頻層III (MP3)編碼器,在LGPL下授權。

好了,現在我們知道Lame就是個開源的編碼器,而且是專門用來編碼mp3文件的。

二、為什么要采用Lame

在Android上開發過錄音功能的同學應該知道,在Android上要實現錄音功能,有2種方式。一種是采用AudioRecord的方式,AudioRecord錄制的直接是原始的pcm數據,另一種方式就是采用MediaRecord,可以錄制類似amr、aac格式的文件。

這里貼下MediaRecord目前支持的錄音格式,可以看到目前是不支持mp3的。那這時我們想要編碼mp3的文件,就得借助lame來實現了。

public final class AudioEncoder { /* Do not change these values without updating their counterparts * in include/media/mediarecorder.h! */ private AudioEncoder() {} public static final int DEFAULT = 0; /** AMR (Narrowband) audio codec */ public static final int AMR_NB = 1; /** AMR (Wideband) audio codec */ public static final int AMR_WB = 2; /** AAC Low Complexity (AAC-LC) audio codec */ public static final int AAC = 3; /** High Efficiency AAC (HE-AAC) audio codec */ public static final int HE_AAC = 4; /** Enhanced Low Delay AAC (AAC-ELD) audio codec */ public static final int AAC_ELD = 5; /** Ogg Vorbis audio codec */ public static final int VORBIS = 6; /** @hide EVRC audio codec */ public static final int EVRC = 10; /** @hide QCELP audio codec */ public static final int QCELP = 11; /** @hide Linear PCM audio codec */ public static final int LPCM = 12; }三、Lame在Android應用上如何使用

在android上集成開源的代碼,很多時候套路都差不多,就是下載源碼,編譯出相關的so庫,然后就是調用這些庫提供的方法了,當然,調用so庫里面的方法,應用上需要借助jni來實現。

這里就不介紹如何下載lame源碼和編碼so庫了。編譯lame源碼后,我們會得到一個libmp3lame.so 的庫文件,調用這個so庫里面的方法,還需要我們去實現JNI部分的代碼。

整體的思路就是,應用層通過調用JNI提供的native方法,然后調用到 libmp3lame.so 庫里面的方法,實現編碼mp3文件。

這里給出的一個例子是將pcm格式的文件編碼mp3格式的文件。

代碼git地址:github.com/yorkZJC/And… 代碼邏輯這里簡單講下:

LameEncodeJniNative.java 是本地封裝的native方法,為應用層提供了2個方法,一個是編碼,一個是結束。這2個方法對應c++層具體的實現,可以看工程 cpp/目錄下文件的實現,cpp文件里面的實現也比較簡單。

Android 如何采用Lame編碼器編碼mp3文件

應用代碼調用的時候,就是傳入對應的pcm源文件和需要生成的mp3文件路徑,還有pcm源文件的格式信息(采用率、通道數、編碼數據位數)。

File pcmFile = new File(getExternalFilesDir(null), 'input.pcm'); File mp3File = new File(getExternalFilesDir(null), 'output.mp3'); mLameEncoder = new LameEncodeJniNative(); mLameEncoder.encode(pcmFile.getAbsolutePath(), mp3File.getAbsolutePath(), 44100, 2, 128);

以上就是Android 如何采用Lame編碼器編碼mp3文件的詳細內容,更多關于Android 編碼mp3文件的資料請關注好吧啦網其它相關文章!

標簽: Android
相關文章:
主站蜘蛛池模板: 盘式曝气器-微孔曝气器-管式曝气器-曝气盘-斜管填料 | 郑州市前程水处理有限公司 | 深圳高新投三江工业消防解决方案提供厂家_服务商_园区智慧消防_储能消防解决方案服务商_高新投三江 | 东莞市超赞电子科技有限公司 全系列直插/贴片铝电解电容,电解电容,电容器 | 飞扬动力官网-广告公司管理软件,广告公司管理系统,喷绘写真条幅制作管理软件,广告公司ERP系统 | 薪动-人力资源公司-灵活用工薪资代发-费用结算-残保金优化-北京秒付科技有限公司 | 广州企亚 - 数码直喷、白墨印花、源头厂家、透气无手感方案服务商! | 膜结构车棚|上海膜结构车棚|上海车棚厂家|上海膜结构公司 | 焊锡,锡膏,锡线,锡条,焊锡膏-绿志岛金属有限公司 | 北京森语科技有限公司-模型制作专家-展览展示-沙盘模型设计制作-多媒体模型软硬件开发-三维地理信息交互沙盘 | 自动焊锡机_点胶机_螺丝机-锐驰机器人 | 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 | 篮球地板厂家_舞台木地板品牌_体育运动地板厂家_凯洁地板 | 高扬程排污泵_隔膜泵_磁力泵_节能自吸离心水泵厂家-【上海博洋】 | 热处理炉-退火炉-回火炉设备厂家-丹阳市电炉厂有限公司 | 换网器_自动换网器_液压换网器--郑州海科熔体泵有限公司 | 深圳活动策划公司|庆典策划|专业公关活动策划|深圳艺典文化传媒 重庆中专|职高|技校招生-重庆中专招生网 | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | 螺旋丝杆升降机-SWL蜗轮-滚珠丝杆升降机厂家-山东明泰传动机械有限公司 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | 成都离婚律师|成都结婚律师|成都离婚财产分割律师|成都律师-成都离婚律师网 | 电地暖-电采暖-发热膜-石墨烯电热膜品牌加盟-暖季地暖厂家 | 高压贴片电容|贴片安规电容|三端滤波器|风华电容代理南京南山 | 逗网红-抖音网红-快手网红-各大平台网红物品导航 | 螺旋压榨机-刮泥机-潜水搅拌机-电动泥斗-潜水推流器-南京格林兰环保设备有限公司 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 物和码官网,物和码,免费一物一码数字化营销SaaS平台 | 浙江红酒库-冰雕库-气调库-茶叶库安装-医药疫苗冷库-食品物流恒温恒湿车间-杭州领顺实业有限公司 | 北京开业庆典策划-年会活动策划公司-舞龙舞狮团大鼓表演-北京盛乾龙狮鼓乐礼仪庆典策划公司 | 搅拌磨|搅拌球磨机|循环磨|循环球磨机-无锡市少宏粉体科技有限公司 | 数控走心机-双主轴走心机厂家-南京建克| 收录网| 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 创绿家招商加盟网-除甲醛加盟-甲醛治理加盟-室内除甲醛加盟-创绿家招商官网 | 搜活动房网—活动房_集装箱活动房_集成房屋_活动房屋 | 交通气象站_能见度检测仪_路面状况监测站- 天合环境科技 | 顺景erp系统_erp软件_erp软件系统_企业erp管理系统-广东顺景软件科技有限公司 | 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 | 冷柜风机-冰柜电机-罩极电机-外转子风机-EC直流电机厂家-杭州金久电器有限公司 | 齿轮减速机_齿轮减速电机-VEMT蜗轮蜗杆减速机马达生产厂家瓦玛特传动瑞环机电 | 一体化污水处理设备_生活污水处理设备_全自动加药装置厂家-明基环保 | 复合肥,化肥厂,复合肥批发,化肥代理,复合肥品牌-红四方 |