当前位置:主页   - 电脑 - 程序设计 - JAVA
J2me流媒体技术实现讨论[1]
来源:网络   作者:   更新时间:2012-06-05
收藏此页】    【字号    】    【打印】    【关闭

  看到很多很多人持续在问这个问题。

  以前我也听说,好像kvm底层实现不太支持j2me来做streaming video/audio,但我不知道那人为什么这么说。

  那么现在国外有一个人提出下面这种思路,并且号称在Nokia6260[相关数据:诺基亚 6260 Nokia62602.0 (3.0436.0) SymbianOS7.0s Series602.1 ProfileMIDP-2.0 ConfigurationCLDC-1.0]

  上真实实现了(两种网络方式:蓝牙和GPRS都试验过),但我怀疑他的前提条件是“你的手机必须允许同时实现player的多个实例进入prefetched状态(预读取声音流)”:

  第一步:

  声明两个Player;

  第二步:

  HttpConnection开始向服务器请求该audio文件的第一部分字节,我们定这次读取的字节数为18KB;

  第三步:

  等第一部分数据到位后,Player A开始realize和prefetch,并开始播放;

  第四步:

  在Player A播放同时,(18KB的amr数据可以播放10秒钟),HttpConnection继续请求第二部分数据(假设GPRS每秒钟传输3KB,那么18KB需要传输6秒,算上前后通讯损失的时间,应该不会超过10秒钟);

  第五步:

  第二部分数据到位后,假设Player A还没有播放完(这需要调整你的每一部份数据字节数来使得假设成立),那么将数据喂给Player B让它realize和prefetch;

  第六步:

  Player A播放完后,得到事件通知,于是让Player B开始播放。

  如此往复。

  大家看看此种理论可否。

  我自己在nokia 7610上测试了一下,我上面说的前提被证明是可行的:“你的手机必须允许同时实现player的多个实例进入prefetched状态(预读取声音流)”。真实Nokia手机确实可以如此:两个线程中各自有一个Player,都开始做m_player.realize();和m_player.prefetch();,然后等候。

  先播放线程1的Player,等她播放完后,通过

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明