<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>
[J2ME]Nokia播放音乐时发生MediaException的解决办法
现象
在Nokia7610上播放音乐时遇到了-18的MediaException错误!
J2ME中播放音乐资源的代码很容易找,我是直接从这篇比较经典的《熟练使用J2ME在实际开发中的可选包MMAPI》中复制的代码,
心想,这总不会有错吧?
播放媒体文件流,真机测试发生异常的代码
|
Player p = Manager.createPlayer(m_isInputImage,"audio/amr");
p.realize();
// Set a listener.
p.addPlayerListener(new Listener());
// Grab volume control for the player.
// Set Volume to max.
vc = (VolumeControl)p.getControl("VolumeControl");
if (vc != null)
vc.setLevel(100);
// Set a start time.
p.setMediaTime(5 * SECS_TO_MICROSECS);
// Guarantee that the player
can start with the smallest latency.
p.prefetch();
// Non-blocking start
p.start();
|
这段代码在Nokia开发工具包的S60系列模拟器上顺利通过!
但是,不幸的事情发生了,在真机测试中,Nokia7610弹出一个错误:
“javax.microedition.media.MediaException: -18”
这下,在网上根本找不到-18这个错误号到底代表什么。
和我有类似情况的还有houhou,他04年11月报告过这个错误:
http://www.cnjm.net/cgi-bin/lbcjm/topic.cgi?forum=5&topic=4582。
解决
不知道错误原因,但是按照houhou的代码修正后,问题消失了!
发信问了houhou,他也说不知道原因,反正最终解决了这个问题,并给我了测试源代码,这里深深地感谢houhou!
修正为以下代码后,真机测试通过。具体的应用文档参见:《[J2ME]手机也可以玩播客(Podcast)! Geek客说明》,源代码下载http://www.cnblogs.com/Files/zhengyun_ustc/toodouPodcastMidlet.rar 。
播放媒体文件流,能测试通过的代码
|
m_player = Manager.createPlayer(m_isInputImage,
"audio/amr");
// realize the player
m_player.realize();
System.out.println("Got player realize!");
// Guarantee that the player can start with the smallest latency.
m_player.prefetch();
System.out.println("Got player prefetch!");
// Grab volume control for the player.
// Set Volume to max.
m_volume = (VolumeControl)
m_player.getControl("VolumeControl");
if (m_volume != null)
m_volume.setLevel(m_nVolume);
System.out.println("Got VolumeControl!");
m_player.start();
|
希望这个报告对你有参考价值。
郑昀@ultrapower
| 产品名称
| 产品版本
|
Keyword: Mobile Media 媒体播放 j2me midp MediaException
| iPodderX
Mobile
| 0.0.1 BETA
|
分享到:
相关推荐
在Java ME(J2ME)平台上开发移动应用时,实现音乐和音效的同时播放是一项挑战。J2ME的多媒体支持相对较弱,特别是对于早期的设备,但随着技术的发展,一些新机型如N73、W810C、L6以及步步高手机等提供了更强大的...
在Java ME(J2ME)平台上开发移动应用时,实现视频播放功能可能是一个挑战,因为它的资源和性能限制相比桌面或现代移动平台更为有限。不过,通过合理的编程和利用特定库,这一目标是可以达成的。以下是你需要知道的...
7. **错误处理与资源管理**:J2ME环境的资源有限,因此在处理音乐播放时需要特别注意内存和CPU的使用。当不再需要播放器时,务必调用`close()`释放资源。同时,对可能出现的异常如网络问题、文件不存在等进行适当...
创建音乐播放器的界面时,可以使用MIDP提供的UI组件,如`Form`来显示歌曲列表,`ChoiceGroup`来选择播放模式(单曲循环、顺序播放等),以及`Command`对象来实现播放、暂停、停止等操作。 ### 6. 文件管理 考虑到...
**J2ME视频播放程序详解** Java 2 Micro Edition(J2ME)是Java平台的一个子集,专门设计用于资源有限的设备,如移动电话、PDA和其他嵌入式系统。J2ME提供了丰富的功能,包括多媒体处理能力,使得开发者能够创建在...
在Java 2 Micro Edition (J2ME)环境中,开发移动应用时可能会涉及到播放声音的需求。J2ME 提供了 Mobile Media API (MMAPI) 来处理多媒体内容,包括音频。MMAPI 是MIDP (Mobile Information Device Profile) 1.0 的...
标题中的“J2ME视频播放实现的简单代码”意味着我们将探讨如何在Java 2 Micro Edition (J2ME)平台上开发一个简单的视频播放功能。J2ME是Java的一个轻量级版本,常用于移动设备和嵌入式系统,如早期的手机和智能电器...
### J2ME 不能调试问题解决方案 #### 一、引言 随着移动互联网技术的不断发展,Java 2 Micro Edition(简称 J2ME)作为一种适用于移动设备的开发平台,在早期的移动应用开发中扮演了重要的角色。然而,在使用 ...
J2ME Nokia Library includes classes: com.nokia.mid.ui.FullCanvas, com.nokia.mid.sound.Sound, and so on.
J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备的开发,如手机、智能电表、家庭自动化设备等。它提供了跨平台的开发环境,使得开发者可以编写一次代码,到处运行。J2ME由两大...
综合来看,"J2ME 无线音乐随身听"是一个综合性的移动音乐解决方案,它结合了多种技术,如多媒体处理、网络编程、文件管理和用户界面设计,为用户提供了丰富的音乐体验。随着技术的发展,现在的音乐应用可能已经采用...
对于初学者而言,这是一个很好的实践项目,不仅可以学习到基础的J2ME知识,还能锻炼编程思维和解决问题的能力。而"j2me_plane.rar"中的源代码正是这样一个实例,值得下载研究,以加深对J2ME游戏开发的理解。
在学习J2ME时,你需要掌握以下Java基础: 1. Java语法基础:包括基本数据类型、关键字、运算符等。 2. 面向对象编程:理解类与对象的概念,以及继承和多态。 3. 异常处理:学会如何捕获和处理程序运行时可能出现的...
5. **图形与多媒体**:J2ME支持丰富的图形和多媒体处理,教程会讲解如何使用Graphics类进行绘图,以及如何播放音频和视频。 6. **存储管理**:由于移动设备的存储资源有限,教程会讲述如何有效地使用RecordStore...
在J2ME(Java 2 Micro Edition)平台上开发游戏时,地图的设计与绘制是至关重要的一个环节。J2ME作为一种轻量级的Java平台,广泛应用于移动设备,如早期的智能手机和平板电脑,用于实现各种应用程序,特别是游戏。本...
共5个压缩文件,无解压密码
**J2ME API 2.0 - J2ME使用手册 - J2ME帮助文档** Java 2 Micro Edition(J2ME)是Java平台的一个子集,专为资源有限的设备如移动电话、智能手表和家用电器等设计。J2ME API 2.0 提供了在这些小型设备上开发应用...
**J2ME音频播放**是Java Micro Edition(J2ME)平台中处理音频内容的关键技术。J2ME广泛应用于移动设备和嵌入式系统,如早期的手机和智能手表,因此了解如何在这些平台上播放音频至关重要。在这个话题中,我们将深入...