Java me 尝试在诺基亚C3上播放音频,结果:无法获取媒体数据

Java me 尝试在诺基亚C3上播放音频,结果:无法获取媒体数据,java-me,nokia,mmapi,Java Me,Nokia,Mmapi,我目前正在从事一个项目,该项目使用Manager.createPlayer(InputStream是字符串mimeType)创建音频播放器 音频播放器在模拟器上工作得非常好。在诺基亚C3上,它可以在应用程序启动后播放音频/mpeg曲目,但在尝试再次播放相同/其他音频时失败。在预取时,捕获到一条消息,“无法获取媒体数据” 当第一次打开播放器时,它将经历正常的生命周期:实现、预回迁、启动。 轨道完成后:停止、取消分配、关闭。在对另一个音频曲目重复该过程之前,播放器甚至被设置为null 有什么想法吗

我目前正在从事一个项目,该项目使用Manager.createPlayer(InputStream是字符串mimeType)创建音频播放器

音频播放器在模拟器上工作得非常好。在诺基亚C3上,它可以在应用程序启动后播放音频/mpeg曲目,但在尝试再次播放相同/其他音频时失败。在预取时,捕获到一条消息,“无法获取媒体数据”

当第一次打开播放器时,它将经历正常的生命周期:实现、预回迁、启动。 轨道完成后:停止、取消分配、关闭。在对另一个音频曲目重复该过程之前,播放器甚至被设置为null

有什么想法吗

下面是用于创建播放器的代码示例

    public static Player play(PlayerListener listener, InputStream is, String[] mimeTypes) {
    Player player = null;
    for (int i = 0; i < mimeTypes.length; i++) {    
        try {
            player = Manager.createPlayer(is, mimeTypes[i]);
            player.realize();
            player.prefetch();  
            player.addPlayerListener(listener);
            player.start();
            Log.write("started - " + mimeTypes[i]);
            break;
        } catch (Exception e) {
            Log.write("player fail (" + mimeTypes[i] + "): " + e.getMessage());
            player = null;
        } catch (Throwable e) {
            Log.write("player fail (" + mimeTypes[i] + "): " + e.getMessage());
            player = null;
        } 
    }
    return player;
}
publicstaticplayer播放(PlayerListener监听器,InputStream is,String[]mimeTypes){
Player=null;
对于(int i=0;i
答案似乎是我试图播放的MP3文件太大。通过减小尺寸,问题自行解决了

从2MB到150kb


如果有人能解释为什么会发生这种情况,我们将不胜感激。

要播放更大的文件,请使用Manager.createPlayer(字符串url)