请教一个关于JMF的RTP流录音的问题?

feifei0079 2008-04-14 09:56:47
小弟现在做的项目是类似基于SIP的软电话,现想实现通话录音功能,我参考JMF的教程,可以保存本地麦克的音频,可以从RTP receivestream
中保存音频,可是现在的问题是,这是两个音频文件,我应该如何把它们和成一个音频文件啊。
不知道各位高人,有没有其他实现通话录音的方法,可以教我一下,呵呵 最好有代码能参考参考,先谢谢啦。
...全文
290 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen106106 2011-07-17
  • 打赏
  • 举报
回复
发送端用的也是SendStream,通过Manager。craeteMergeDataSource(new DataSource[]{videoDataSource,audioDataSource})来创建Processor,后面的和录制摄像头保存本地文件步骤是一样的,可是有问题。抛出javax.media.NoDataSinkException: Cannot find a DataSink for: com.sun.media.multiplexer.RawBufferMux$RawBufferDataSource@19bb25a 错误
chen106106 2011-07-17
  • 打赏
  • 举报
回复
请问楼主知道怎么将接收到的视频流和视频流混合到一起保存为文件?单个视频流和音频流我现在实现了这个功能。
tommy___2005 2008-05-02
  • 打赏
  • 举报
回复
本地流:
DataSource ds = Manager.createMergingDataSoure(localDataStream,remoteDataStream);
这个流就是你需要的流
有问题,联系我:QQ:407169441
记得把分给我
feifei0079 2008-04-15
  • 打赏
  • 举报
回复
是啊 ,可是我把 sendstream作为datasource ,生成processor,却不行。
feifei0079 2008-04-15
  • 打赏
  • 举报
回复
这个我知道,我现在的问题不是不能传输,而是我希望能够把 sendstream和receivestream保存成一个文件,而我现在获取的本地音频流和接收到的流不能一起处理,当我想 datasource ds=sendstream.getdataout();
processor p=Manager.createprocessor(ds);
系统就抛出异常,说这个ds不能生成processor。

不知道kerry_lulu 知道其他可以进行 通话录音的方法吗。
kerry_lulu 2008-04-15
  • 打赏
  • 举报
回复
你把关键代码贴出来看看吧,
一般你如果已经得到了sendStream的话,基本就可以传输了
还要生成processor干嘛
而且sendStream和你本地捕获的stream是不同的

processor是通过MediaLocator生成的
DataSource ds = javax.media.Manager.createDataSource(locator);

processor = javax.media.Manager.createProcessor(ds);
kerry_lulu 2008-04-14
  • 打赏
  • 举报
回复
你应该是将本地的音频转化为RTP的SendStream然后再发送出去吧

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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