flameutilsipod视频支持什么格式式

新买的电视在播放MKV格式的电影时没有声音?_百度知道flameutils支持什么格式_百度知道1280人阅读
android(7)
主要使用到LAME 这个东东,需要用到要装NDK ,要编译so库文件.要这个那个.. 麻烦的很....&
果断各种google,然后找到个别人编译好的so和jar包,爽歪歪;
用非很简单:
FLameUtils mFLameUtils = new FLameUtils(1, sampleRateInHz, 96);
mFLameUtils.raw2mp3(lovaPath, path);调他封装好的 工具类FLameUtils,然后传入对应的参数,相信用过AudioRecord 的都看得懂参数都是什么;这里说几个注意事项:
1.录音时, 读取数据记得用short[]类型,不然格式转换后会是噪音,short[] buffDate = new short[minBufferSizeInBytes];
2.导入工具类时记得要和他原来的包名一样,不然会调用不到本地jni方法;
3.格式转换记得丢在线程里,不然..你懂得;
4.格式转换完成后记得删掉原数据(raw原数据比较大,我记得录了12秒就1M 了... 我用的44100码率);
下面是我用的录音和格式转换代码:
* 开始录音
public void startRecord() {
if (mAudioRecord != null && !isRecording()) {
if (mAudioRecord.getState() == AudioRecord.STATE_INITIALIZED) {
LogUtil.i(TAG, &开始录音...&);
new StartRecordThread().start();
isRecording =
LogUtil.e(TAG, &mAudioRecord=STATE_UNINITIALIZED&);
**************************************************************************
* @Version
* @ClassName: AudioRecordHelper.StartRecordThread
* @Description: 录音线程
* @Author fans
***************************************************************************
class StartRecordThread extends Thread {
public void run() {
// TODO Auto-generated method stub
super.run();
mAudioRecord.startRecording();
writeDateToFile(lovaPath);
* 写入原数据
* @param path
private void writeDateToFile(String path) {
short[] buffDate = new short[minBufferSizeInBytes];
DataOutputStream dos =
int readSize = 0;
File recordFile = new File(path);
if (recordFile.exists()) {
recordFile.delete();
recordFile.createNewFile();
dos = new DataOutputStream(new BufferedOutputStream(
new FileOutputStream(recordFile)));
while (isRecording()) {
readSize = mAudioRecord.read(buffDate, 0, minBufferSizeInBytes);
for (int i = 0; i & readS i++) {
dos.writeShort(buffDate[i]);
LogUtil.i(TAG, &录入音频大小:& + buffDate.length);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (dos != null) {
dos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
**************************************************************************
* @Version
* @ClassName: AudioRecordHelper.Raw2Mp3Thread
* @Description: 原数据转MP3
* @Author fans
***************************************************************************
class Raw2Mp3Thread extends Thread {
public Raw2Mp3Thread(String path) {
this.path =
public void run() {
// TODO Auto-generated method stub
super.run();
String drPath = path.substring(0, path.lastIndexOf(&/&));
LogUtil.i(TAG, &储存目录:& + drPath);
File file = new File(drPath);
if (!file.exists()) {
file.mkdirs();
LogUtil.i(TAG, &录音原始数据:& + lovaPath + &;MP3数据:& + path);
/* 原始raw文件转换成MP3 */
if (new File(lovaPath).length() & 1) {
LogUtil.e(TAG, &原始数据大小为0&);
File loveFile = new File(lovaPath);
LogUtil.i(TAG, &MP3格式转换开始...;文件大小=& + loveFile.length());
FLameUtils mFLameUtils = new FLameUtils(1, sampleRateInHz, 96);
mFLameUtils.raw2mp3(lovaPath, path);
LogUtil.i(TAG,
&转换完成:& + path + &;MP3文件大小=& + new File(path).length());
loveFile.delete();
CJApplication.getInstance().sendBroadcast(
new Intent(CJConstant.RECORD_FINISH_ACTION));
工具类和库文件下载地址:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:5264次
排名:千里之外
(2)(3)(3)(2)更多公众号:gh_8a2ffdd9f662佳能专业影视解决方案最新文章相关推荐搜狗:感谢您阅读Atomos Shogun Flame与Canon C300 Mark II 4K RAW格式录制设置教程,本文可能来自网络,如果侵犯了您的相关权益,请联系管理员。QQ:

我要回帖

更多关于 车载视频支持什么格式 的文章

 

随机推荐