我正在制作一个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“)”位有问题,但我无法终生弄清楚原因,并且尝试在Windows中引用该文件。 20种不同的方式。
如果我打印行“this.getClass()”,它将给我“路径:class Mp3spiller”。 “01Track.wav”的绝对路径是“E:\ Mine dokumenter \ Dokumenter \ workspace_mobiljava \ Mp3spiller \ res \ 01Track.wav”。我认为应该相对地引用“E:\ Mine dokumenter \ Dokumenter \ workspace_mobiljava \ Mp3spiller”是否完全错误?
如果有人能指出我在做什么错,我将不胜感激。我基本上是从网上找到的教程中窃取了代码,所以我认为它会起作用。
最佳答案
播放器初始化错误...
第二个参数采用您正在播放的流的mime类型。
因此应该p1=Manager.createPlayer(is, "audio/wav");
否则一切似乎都很好...如果您已根据
Vivart的最后评论。
希望这可以帮助...
关于audio - 有关在JME Midlet中播放音频文件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2987144/