音频文件无法在Blackberry中播放

iOS*_*Dev 0 audio blackberry mmapi java-me

我正在尝试播放录制的wave文件.在播放时,会在以下语句中引发异常:

Player player = Manager.createPlayer(is, "audio/mpeg");
Run Code Online (Sandbox Code Playgroud)

我播放wave文件的全部代码如下:

if (types[cnt].equals("audio/x-wav")) {
    Class clazz = Class.forName("RecordAudio");
    InputStream is =  
        clazz.getResourceAsStream("file:///SDCard/BlackBerry/original.wav");
    //create an instance of the player from the InputStream
    Player player = Manager.createPlayer(is, "audio/mpeg");
    player.realize();
    player.prefetch();
    //start the player
    player.start();
} 
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?

Fos*_*tah 7

函数getResourceAsStream用于从JAR/COD文件中提取资源,而不是从文件系统中提取资源.另外,这比你制作简单.只需将文件名和路径传递给createPlayer,如下所示:

try {
    String filename = "file:///SDCard/BlackBerry/original.wav";
    Player player = javax.microedition.media.Manager.Manager.createPlayer( filename );
} catch (IOException e) {
    System.out.println("Error creating player");
} catch (MediaException e) {
    System.out.println("Error media type");
}
Run Code Online (Sandbox Code Playgroud)