2

我正在开发一个 j2me 应用程序来播放 wav 和 mp3 文件。

问题是:

  • 尝试在我的手机(诺基亚 5610d)中播放 mp3 文件时,出现“内存不足”错误。
  • 尝试播放 Wav 文件时出现“不允许声音”异常。

我的几行代码在这里。

播放wav文件的代码

InputStream is = getClass().getResourceAsStream("/Child.wav");
player = Manager.createPlayer(is, "audio/x-wav");

player.realize(); player.start();

播放 MP3 文件的代码

InputStream is = getClass().getResourceAsStream("/Child.mp3");<br/>
player = Manager.createPlayer(is, "audio/mpeg");

player.realize(); player.start();

请让我知道我的代码中有什么问题。

4

4 回答 4

1

您可能想尝试“audio/wav”而不是“audio/x-wav”。

我还建议使用 FileConnection URL(Manager.createPlayer("file://localhost/E:/MyFolder/Child.mp3");例如),因为它通常比在 Series40 手机上使用 InputStream 创建的播放器效果更好。

于 2009-11-03T10:49:53.050 回答
0

player.prefetch();如果你之前打电话有什么不同player.start();吗?我之前看到的所有例子都是这样完成的。

audio/mp3如果audio/mpeg不起作用,也请尝试使用 mime 类型。

于 2009-11-02T14:21:53.453 回答
0

据我说,你的代码是正确的。

我收到“不允许声音”错误,因为手机处于静音模式并且我正在尝试播放它。你确定你的手机在运行你的代码时没有处于静音模式吗?

于 2011-06-07T05:18:35.357 回答
0

通过直接从 SD mp3 文件和其他此类文件启动以允许手机,Nokia Series 40 的最准确来源是:

import java.io.IOException;
import javax.microedition.media.Manager;
import javax.microedition.media.MediaException;
import javax.microedition.media.Player;
import javax.microedition.midlet.MIDlet;
public class pro extends MIDlet {
     public pro() throws IOException, MediaException {

     Player player = Manager.createPlayer("file:///E:/03.mp3");
     player.realize();
     player.start();

     }
  public void startApp() { }
  public void pauseApp() {}
  public void destroyApp(boolean unconditional) {}
}
于 2014-05-14T13:29:14.573 回答