[J2ME]Nokia播放音乐时发生MediaException的解决办法

简介:

 [J2ME]Nokia播放音乐时发生MediaException的解决办法

现象

Nokia7610上播放音乐时遇到了-18MediaException错误!

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,他0411月报告过这个错误:

http://www.cnjm.net/cgi-bin/lbcjm/topic.cgi?forum=5&topic=4582

解决

原因是,Player::setMediaTime函数在Nokia 7610上不支持!

修正为以下代码后,真机测试通过。具体的应用文档参见:《[J2ME]手机也可以玩播客(Podcast)! Geek客说明,源代码下载http://files.cnblogs.com/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();

 

希望这个报告对你有参考价值。也希望你能够告诉我-18代表着什么。

 

郑昀@ultrapower

产品名称

产品版本

Keyword: Mobile Media 媒体播放 j2me midp MediaException

iPodderX

Mobile

0.0.1 BETA

 

目录
相关文章
|
8月前
|
编解码 UED iOS开发
苹果mac系统音频播放软件哪个好一点
在苹果mac系统上,有许多不同的音频播放软件可供选择,这些软件各有优点和适用场景。下面将为您详细介绍每一个软件,帮助您找到最适合您的音频播放器。
252 1
苹果mac系统音频播放软件哪个好一点
|
iOS开发
IOS - iPhoneX 怎么进入 DFU 模式(刷机必备)?
IOS - iPhoneX 怎么进入 DFU 模式(刷机必备)?
978 0
|
编解码 安全 数据安全/隐私保护
AirServer手机万能投屏器Win和Mac系统均可使用
手机投屏器是一款能够将手机内容投影到电脑上的软件,手机投屏器一经出现就受到广大用户的喜爱和好评。有了投屏软件,玩游戏或者看斗鱼虎牙直播视频,都能随时投屏到电视上。那么手机投屏器哪个好,手机投屏器使用方法是怎么样的?下文告诉你答案。
439 0
|
iOS开发
IOS - iPhoneX 怎么强制重启?
IOS - iPhoneX 怎么强制重启?
93 0
IOS - iPhoneX 怎么强制重启?
|
编解码 安全 Android开发
iPhone苹果手机如何设置使用非系统自带铃声
自从开始使用苹果手机,如何设置自定义的手机铃声成了困扰我的难题,每次听着系统自带的铃声响起都很不喜,拿到iPhone plus我就开始研究怎么设置自定义的铃声,试了很多办法,都不行。电脑是win10系统,查了很多方法,下了各种软件,都没解决这问题。网上讲的最多的是下载iTunes云云,我卸了装,装了卸的,反复各种试都行不通;就卡在win10环境下的iTunes与iPhone手机连接不上,提示如图的问题:
357 0
iPhone苹果手机如何设置使用非系统自带铃声