音视频-MP3编码-Swift
一.配置
- swift5
- lame 下载地址,下载后编译出的lame库
二.背景
调用lame来做MP3Encoder,lame库是C++语言,在使用用lame库要学会swift 调用C++ 的方式,由于Swift 不能直接调用C++,我采用的方式是调用C,间接调用C++
三.步骤
- 创建项目,再添加C++文件会自动生成桥接文件,如下:
- 分别在.hpp 和 .cpp文件中编写声明和实现。
- 再创建 .h 文件,编写C内容,如下
在extern “C” 的花括号中编写Swift 中需要调用的方法声明,然后在.c 和 .cpp 中编写实现代码。
- 创建.map 文件,代码内容如下
- 然后就可以在swift 中import SwiftCpp 调用前面在.h 中声明的方法了,如下
四. 总结
本项目内容是调用Mp3Encoder类中的encode方法,编码音频文件,调用结束后,可以在Xoce/device中的Download沙盒功能中,将MP3文件提取出来,就可以通过播放器正常播放文件了。
五. git地址如下
git地址https://github.com/Wwq-Swift/MP3Encoder.git