J2ME的MMAPI录音

为了使移动装置能够访问这些不同格式的媒体数据,必须为其设计一个规范化的、强大的和可扩充的应用接口。J2ME中就提供了一套为规范的播放和录制音频或视频接口,即Mobile Media API (MMAPI)。
二、MMAPI体系结构
一般情况下,可以将媒体处理过程分解为两个过程:
◆处理媒体数据的传输协议的过程。
◆处理媒体数据内容的过程。 try { // Create a Player that captures live audio. Player p = Manager.createPlayer("capture://audio"); p.realize(); // Get the RecordControl, set the record stream, // start the Player and record for 5 seconds. RecordControl rc = (RecordControl)p.getControl("RecordControl"); ByteArrayOutputStream output = new ByteArrayOutputStream(); rc.setRecordStream(output); rc.startRecord(); p.start(); Thread.currentThread().sleep(5000); rc.commit(); p.close(); } catch (IOException ioe) { } catch (MediaException me) { } catch (InterruptedException ie) { }

相关文章:

已经有6个回复

  1. yanfeng Says @ August 12th, 2009 at 02:31 pm

    你能提供一个完整的J2ME录音机代码给我么,我现在正在做这个,我遇到了阻塞的问题,我是一个初学者,不知道如何解决
    你可以给我发到邮箱里来
    yanfeng8054197@163.com

    x谢谢你了.老师

  2. iocblog Says @ August 18th, 2009 at 03:22 pm

    阻塞的问题,是不能录音吗?这个已经是个完整的录音代码了,放在某个事件里调用就可以了。

  3. yanfeng Says @ August 24th, 2009 at 02:43 pm

    这个录音的代码是比较完整,但是我放在了CommandAction里调用也出现了死锁,我也不知道应该如何解决,我想问问您有完整的J2ME录音机程序么?我想借来参考一下,
    您就发到我邮箱里就行了yanfeng8054197@163.com

    谢谢您了,老师

  4. iocblog Says @ September 03rd, 2009 at 10:06 am

    没有独立的代码,都在项目里面,不好抽取。
    死锁可能是连续调用的原因,控制下按键或者调用应该就可以了。

  5. huang Says @ September 27th, 2009 at 08:45 pm

    我想问问老师,stopRecord()和commit()的主要区别!
    还有,我想在录音的时候暂停一下录音,然后继续,应该如何实现。

  6. iocblog Says @ September 29th, 2009 at 02:14 pm

    stopRecord() 只是停止当前的录制,可以继续,数据不一定立即写入Stream。

    commit() 是调用stopRecord()后,数据写入Stream。

看完了要说点啥么?