我正在开发一个j2me应用程序来播放wav& mp3文件。
问题是:
我的代码几行就在这里。
播放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();
请告诉我代码中的问题。
答案 0 :(得分:1)
你可能想尝试“audio / wav”而不是“audio / x-wav”。
我还建议使用FileConnection URL(例如Manager.createPlayer("file://localhost/E:/MyFolder/Child.mp3");
),因为它通常比使用Series40手机上的InputStream创建的玩家更好。
答案 1 :(得分:0)
如果您在player.prefetch();
之前致电player.start();
,会有什么不同吗?我以前见过的所有例子都是这样做的。
如果audio/mp3
不起作用,请尝试使用mime类型audio/mpeg
。
答案 2 :(得分:0)
据我所知,你的代码是正确的。
我收到了“声音不允许”错误,因为手机处于静音模式,而我正试图播放它。在运行代码时,你确定你的手机没有处于静音模式吗?
答案 3 :(得分:0)
诺基亚40系列最准确的来源,通过直接从SD mp3文件和其他此类文件启动来发送异常(Out of Memory错误)以允许手机:
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) {}
}