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



我正在尝试从数据库中播放wav文件。我将blob文件与php文件重新分离。如果我们将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());
    }
}

错误:无法实现播放器:波形介质格式不正确:应为"RIFF"

注意:我可以在本地播放相同的文件。所以文件是可以的!

有效的WAV文件应该以"RIFF"字符串开头。

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

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

如果同样的错误仍然存在,那么WAV文件是无效的/not-standardd,并且设备中的Java API将无法播放它

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

相关内容

  • 没有找到相关文章

最新更新