如何从数据库播放音乐文件J2m?

时间:2014-04-09 16:43:44

标签: file mobile java-me

我正在尝试从数据库中播放wav文件。我使用php文件重新编写blob文件。 如果我们将inputStream替换为DataInputStream,则此代码适用于视频文件:

public void playAudio(){

    try {
        ContentConnection connection = (ContentConnection)Connector.open("http://localhost/P/getXmlMusic.php");
      InputStream iStrm = connection.openInputStream();         

        player = Manager.createPlayer(iStrm,"audio/x-wav");
        player.addPlayerListener(this);
        player.setLoopCount(4);
        player.prefetch();
        player.realize();
        player.start();
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }
}

错误:无法实现播放器:格式错误的wave媒体:预期的'RIFF'

注意:我可以在本地播放同一个文件。所以文件很好!

1 个答案:

答案 0 :(得分:0)

有效的WAV文件should be started with "RIFF" string

预期' RIFF' 表示在WAV文件的开头找不到RIFF字符串。因此,从服务器检索到的流似乎不是有效的WAV文件。

我建议您尝试播放设备中的原始WAV文件(本地)。 稍微更改您的代码以使用FileConnection API访问WAV,或将其直接嵌入jar中,然后使用getResourceAsStream读取它。

如果同样的错误仍然存​​在,则WAV文件无效/不符合标准,设备内的Java API无法播放。

如果错误消失,那么错误就在服务器端代码中。确保您已正确执行所有操作:使用wav文件填充数据库,从数据库中读取blob,然后将其转发给客户端。