0

我正在制作一个用于播放本地音频文件的 midlet。这显然是行不通的。在下面显示的代码片段中,我得到了对“is”变量的空引用。

1. try{
2. System.out.println("path: " + this.getClass());
3. InputStream is = this.getClass().getResourceAsStream("res/01Track.wav");
4. p1=Manager.createPlayer(is, "audio");
5. p1.realize();            
6. p1.prefetch();
7. p1.start();
8. }
9. catch(Exception e){
10. System.out.println(e.getMessage());
11. }

我认为“this.getClass().getResourceAsStream("res/01Track.wav")”位有问题,但我终生无法弄清楚原因,我尝试在20 种不同的方式。

如果我打印“this.getClass()”,它会给我“路径:Mp3spiler 类”。“01Track.wav”的绝对路径是“E:\Mine dokumenter\Dokumenter\workspace_mobiljava\Mp3spiller\res\01Track.wav”。我认为我应该相对参考“E:\Mine dokumenter\Dokumenter\workspace_mobiljava\Mp3spiler”是完全错误的吗?

如果有人能指出我做错了什么,我将不胜感激。我基本上从网上找到的教程中窃取了代码,所以我认为它会起作用。

4

1 回答 1

1

播放器初始化错误...第二个参数采用您正在播放的流的 mime 类型。因此应该是

p1=Manager.createPlayer(is, "audio/wav");

否则一切似乎都很好......如果您根据 Vivart 的最后评论添加了资源文件夹。

希望这可以帮助...

于 2010-06-14T12:08:25.240 回答