通过ByteArrayOutputStream创建3gp文件

wilesilly 2010-11-14 02:27:25
找了很久,还是没有解决,不知道我的思路有没有问题。
通过j2me的RecordControl获取的ByteArrayOutputStream流,然后将它转换为byte[],写入文件中,可是文件生成后却无法打开。是不是还要写3gp文件头,请各位给点思路?

这是代码(删减后的):


_player = javax.microedition.media.Manager.createPlayer("capture://video?" + encoding);
_player.start();

_videoControl = (VideoControl) _player.getControl("VideoControl");
_recordControl = (RecordControl) _player.getControl("RecordControl");
_outStream.reset();
_recordControl.setRecordStream(_outStream);


commit()后:


_recordControl.commit();

// 获取视频数据流
byte[] data = _outStream.toByteArray();

// 以文件的形式保存视频
FileConnection fconn = (FileConnection) Connector.open(_videoFile);
if(fconn.exists()) {
fconn.delete();
}
fconn.create();

OutputStream os = fconn.openOutputStream();
os.write(data);
os.flush();
os.close();
fconn.close();
...全文
168 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wilesilly 2011-05-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 z303729470 的回复:]
不知道LZ是怎么解决的?能说一下吗
[/Quote]
最后没有解决,因为时间的问题,加上对于视频解析没有经验,所以没有冒然去做,以后留着研究吧。
其实就是把RIM的格式转换成通用的3GP格式就可以了,想象中比较复杂。
卖萌 2011-05-19
  • 打赏
  • 举报
回复
不知道LZ是怎么解决的?能说一下吗
wilesilly 2010-11-14
  • 打赏
  • 举报
回复
刚才找到结果了
原来是RecordControl将流格式化成特定的流了,需要进一步解析成通用的3gp文件,官方提供了解析示例,不知道能不能用。。。

开始了。。。。。。。
qsefwad 2010-11-14
  • 打赏
  • 举报
回复
原来如此

2,542

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧