Java me 在Manager.createPlayer()处播放文件wav j2me-IllegalArgumentException
我在应用程序中遇到播放wav文件的问题 这是我的错误:Java me 在Manager.createPlayer()处播放文件wav j2me-IllegalArgumentException,java-me,midp,mmapi,Java Me,Midp,Mmapi,我在应用程序中遇到播放wav文件的问题 这是我的错误: java.lang.IllegalArgumentException at javax.microedition.media.Manager.createPlayer(), bci=8 at Tajwid.Tajwid.run(Tajwid.java:649) at Tajwid.Tajwid.actionPerformed(Tajwid.java:186) at com.sun.lwuit.util.EventDispatcher
java.lang.IllegalArgumentException
at javax.microedition.media.Manager.createPlayer(), bci=8
at Tajwid.Tajwid.run(Tajwid.java:649)
at Tajwid.Tajwid.actionPerformed(Tajwid.java:186)
at com.sun.lwuit.util.EventDispatcher.fireActionSync(), bci=19
at com.sun.lwuit.util.EventDispatcher.fireActionEvent(EventDispatcher.java:257)
这是我的代码:
设备配置:CLDC-1.1设备配置文件MIDP 2.0您收到的错误消息具有足够的信息,可以找出代码中的错误 仔细看一下:
java.lang.IllegalArgumentException
在javax.microedition.media.Manager.createPlayer()中。。。
它说Manager.createPlayer()
中出现了一些错误。从代码中可以明显看出,您使用了方法Manager.createPlayer(java.io.InputStream,java.lang.String类型)
如果您查看API文档了解您使用的方法(),您会发现出现此异常时的解释:
抛出:
java.lang.IllegalArgumentException-在流为null时引发。
上面的意思是传递给方法的流
参数(在代码中是
)为空
您可以在初始化is
后立即添加一些日志记录,以便更轻松地调试此问题:
InputStream is=getClass().getResourceAsStream(“/tes.wav”);
//添加一些日志以查看初始化是否正常:
System.out.println(“输入流为null:[”+(is==null)+“]”;
这样,当在emulator中运行MIDlet时,您将看到是否按照预期进行了初始化
事实上,看看代码,我猜您在传递给getResourceAsStream的文件名中输入了一个错误:“/tes.wav”看起来像是输入错误的“/test.wav”错误消息,您已经得到了足够的信息来判断代码中出现了什么错误
仔细看一下:
java.lang.IllegalArgumentException
在javax.microedition.media.Manager.createPlayer()中。。。
它说Manager.createPlayer()
中出现了一些错误。从代码中可以明显看出,您使用了方法Manager.createPlayer(java.io.InputStream,java.lang.String类型)
如果您查看API文档了解您使用的方法(),您会发现出现此异常时的解释:
抛出:
java.lang.IllegalArgumentException-在流为null时引发。
上面的意思是传递给方法的流
参数(在代码中是
)为空
您可以在初始化is
后立即添加一些日志记录,以便更轻松地调试此问题:
InputStream is=getClass().getResourceAsStream(“/tes.wav”);
//添加一些日志以查看初始化是否正常:
System.out.println(“输入流为null:[”+(is==null)+“]”;
这样,当在emulator中运行MIDlet时,您将看到是否按照预期进行了初始化
实际上,看看代码,我猜您在传递给getResourceAsStream的文件名中输入了一个错误:“/tes.wav”看起来像是输入错误的“/test.wav”您有什么问题?您是否遇到异常?我的wav文件无法播放,出了什么问题?因为您的代码似乎是正确的,并且假设您没有遇到异常。我认为问题在于您的文件或设备(可能无法播放wav)。请调用System.getProperty(“audio.encodings”)并查看您可以播放什么。这是我的错误:javax.microedition.media.Manager.createPlayer()中的java.lang.IllegalArgumentException,Tajwid.Tajwid.run(Tajwid.java:649)中的bci=8,Tajwid.Tajwid.Tajwid.actionPerformed(Tajwid.java:186)中的com.sun.lwiit.util.EventDispatcher.fireActionSync(),bci=19,位于com.sun.lwuit.util.EventDispatcher.fireActionEvent(EventDispatcher.java:257)您的问题是什么?您是否遇到异常?我的wav文件无法播放,出了什么问题?因为您的代码似乎是正确的,并且假设您没有遇到异常。我认为问题在于您的文件或设备(可能无法播放wav)。请调用System.getProperty(“audio.encodings”)并查看您可以播放什么。这是我的错误:javax.microedition.media.Manager.createPlayer()中的java.lang.IllegalArgumentException,Tajwid.Tajwid.run(Tajwid.java:649)中的bci=8,Tajwid.Tajwid.Tajwid.actionPerformed(Tajwid.java:186)中的com.sun.lwiit.util.EventDispatcher.fireActionSync(),bci=19在com.sun.lwuit.util.EventDispatcher.fireActionEvent(EventDispatcher.java:257)@MuhamadBurhanudin不客气。如果您感兴趣,您可以查看我得到的答案问题,检查这里:[链接]@MuhamadBurhanudin欢迎您。如果您感兴趣,可以查看我得到的答案问题,请点击这里:[链接]
public void run() {
try {
InputStream is = getClass().getResourceAsStream("/tes.wav");
player = Manager.createPlayer(is, "audio/x-wav");
player.realize();
// get volume control for player and set volume to max
vc = (VolumeControl) player.getControl("VolumeControl");
if (vc != null) {
vc.setLevel(100);
}
player.prefetch();
player.start();
} catch (Exception e) {
e.printStackTrace();
}