使用J2ME和Netbeans 6.1的6265i Nokia上的声音问题

时间:2020-03-06 14:24:13  来源:igfitidea点击:

目前,我有一些基本的代码可以在命令项菜单中按下按钮时播放简单的声音。

使用:Manager.playTone(note,duration,volume);

我也有一个黑莓,正在测试同一个Midlet,声音工作正常。那么,这是否是诺基亚电话所特有的,不允许我播放声音?

我已经确保使用正确的CLDC和MIDP版本来构建它。

我还尝试了Netbeans IDE中的音频演示,但仍然没有运气。它将引发"无法创建播放器"消息。

解决方案

http://discussion.forum.nokia.com/forum/showthread.php?t=91500

诺基亚论坛上的该线程似乎暗示某些诺基亚型号在使用Manager.playTone()函数播放音调时出现问题,更具体地讲,抛出了MediaException,如果尝试这样做,则MediaException只是默认异常,播放声音)。

我们可以在调用Manager.playTone大于音调长度后尝试使线程休眠。我们可能会进入一种状态,试图同时播放两个或者更多音调,并且手机可能一次不允许创建多个播放器。

如果其他所有方法均失败,则可以使用诺基亚UI声音类(com.nokia.mid.sound.Sound)播放声音。它已弃用,并由我们拨打的电话代替,但这可能是此设备的唯一解决方案。只需创建我们自己的playTone方法,然后让它调用此设备的诺基亚功能(如果需要,还可以调用其他诺基亚设备),并在所有其他设备上调用J2ME标准。我们可以使用Netbeans ME预处理器完成此操作。

http://www.theoreticlabs.com/dev/api/nokia-ui-1.1/com/nokia/mid/sound/Sound.html