微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

j2me播放多个声音文件的问题

如何解决j2me播放多个声音文件的问题

| 我在Eclipse中的j2me MIDP2中正在开发的游戏中播放两个以上的声音文件时遇到问题。 请告诉我播放多个“ wav”声音文件的最佳方法。 我创建了以下方法,该方法在程序启动时被调用一次
public void setSound()
        {
            System.out.println(\"Sound on\");
            try {
                p1=Manager.createPlayer(is1,\"audio/X-wav\");
                p2=Manager.createPlayer(is2,\"audio/X-wav\");
                p3=Manager.createPlayer(is3,\"audio/X-wav\");
            } catch (IOException e) {
                // Todo Auto-generated catch block
                e.printstacktrace();
            } catch (MediaException e) {
                // Todo Auto-generated catch block
                e.printstacktrace();
            }
        }
每次我需要播放一种声音时,我都会停止另外两个播放器(以确保其中一个都没有运行
p2.stop(); p3.stop();
)并启动第三个声音(
p1.start();
),并且每次我有两个播放器停止时(处于PREFETCHED状态) )第三个未运行,并且引发了异常。     

解决方法

Java ME规范对此没有具体说明,但是在实际设备上,通常一次只能分配一个播放器,因此仅停止播放器是不够的。另请参阅此论坛帖子。我发现即使在播放新声音之前正确分配播放器也是一个挑战,因此在我自己的代码中,我试图等待一种声音结束后再尝试播放新声音。     ,在j2me中只有一个播放器。不支持超过1个播放器。如何依次播放一个声音或另一个声音。如果您想播放多个声音,则请遵循以下编码
public class AudioPlayer implements javax.microedition.media.PlayerListener{

Player player;
int count=0;

public void playMedia(){

try{

player = Manager.createPlayer(getClass().getResourceAsStream(audioFiles[count]),\"audio/x-amr\");
player.addPlayerListener(this);
player.start();

}
catch (Exception e) {
return ;
}
}


public void playerUpdate(Player p,String event,Object eventData) 
{

        //Playing next audio file after completion of current audio.
}

}
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。