[J2ME QA]MMAPICannot parse this type of AMR异常之讨论

news/2024/6/16 20:09:18

[J2ME] MMAPICannot parse this type of AMR异常之讨论

郑昀 草拟 20060417

[现象]

首先,我们假设遇到这种错误的人们了解如何使用MMAPI,从而排除代码使用不当问题。

那么在播放3gp媒体文件时遇到java.lang.Exception: Cannot parse this type of AMR的异常错误,如果怀疑是ffmpeg或者其他转换程序造成的话,那么你可以把Nokia手机自己拍摄的录像传到PC机上,这种文件格式就是3gp的,而且肯定是Nokia自己的手机程序能播放的。

但是,我用mmapiNokia S60模拟器(Nokia Developer's Suite 3.0 for J2ME所携带的模拟器)上播放这种Nokia手机生成的3gp文件时依然得到java.lang.Exception: Cannot parse this type of AMR错误,没有声音,只有视频。

      

我用下面的命令行:

Ffmpeg转换命令

ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176x144 -acodec aac -ac 2 -ar 22500 -ab 24 -f 3gp test.3gp

或者

ffmpeg -y -i test.mpeg -ac 1 -acodec amr_nb -ar 8000 -s 176x144 -b 128 -r 15 test.3gp

转换出来的3gp文件,都只能够在Nokia S60模拟器(Nokia Developer's Suite 3.0 for J2ME所携带的模拟器)上播放视频,但没有声音,也得到了大量的java.lang.Exception: Cannot parse this type of AMR错误提示。

 

我为什么要怀疑仅仅是S60模拟器的问题呢。因为我把转换好的3gp文件放在我的服务器上,用

简单的播放代码

player = Manager.createPlayer(url);

player.realize();

player.prefetch();

      这种代码在Nokia7610真机上运行播放这个远端资源http://218.249.90.118/toodou/test.3gp ,结果正常地播放了,有声音,有图像

所以说明Nokia 7610真机的MMAPI对于3gp文件中的音频解析是没问题的。出问题的是S60模拟器(Nokia Developer's Suite 3.0 for J2ME所携带的模拟器)。

 

[小结]

综上所述,如果你遇到了"Cannot parse this type of AMR"的异常,那么请考虑你用来测试j2me程序的模拟器是不是有问题。不妨到真机上测试。

 





http://www.niftyadmin.cn/n/3649753.html

相关文章

flutter布局中的单位_在Flutter中创建基本布局

flutter布局中的单位As Flutter quickly becomes one of the leading technologies in app development, it is important for even someone in the web dev environment to check out. Coming from a background of HTML, CSS and JavaScript, the way Flutter handled everyt…

Signing a midlet suite的讨论稿[J2ME]

[J2ME] Signing a midlet suite的讨论稿发起者:郑昀(zhengyun_ustc)[问题]如何对一个MIDlet jar签名呢?很多人都想知道怎么让自己的MIDlet访问网络啦、发送短信啦都能够不弹出烦人的警告框。单纯回答说“你必须去Versign购买一个证书,或者找厂…

在JavaScript中使用Trim String方法

It’s always helpful to have an easy method method on strings to remove trailing or leading whitespace and the trim() method available on JavaScript strings is here to help us with doing exactly that. 在字符串上使用简单的方法方法来删除尾部或前导空格总是有帮…

[Nutch]如何利用HTML页面中meta元素?

[Nutch]如何利用HTML页面中meta元素?[郑昀]1:假如说你的站点页面中有这么一句:你利用Nutch抓取并分析时,如何得到这个meta数值并处理呢?2:你可以从HtmlParseFilter扩展出一个RobotsParserFilter&#xff0c…

链表中倒数最后k个结点

描述 输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。 如果该链表长度小于k,请返回一个长度为 0 的链表。 数据范围:0 \leq n \leq 10^50≤n≤105,0 \leq a_i \leq 10^90≤ai​≤109…

flutter获取地理位置_Flutter:使用Geolocator插件获取用户位置

flutter获取地理位置Ever wanted to get a user’s location within your Flutter application? We’re going to be building an application that does exactly that by taking advantage of the Geolocator plugin. 是否曾经想在Flutter应用程序中获取用户的位置&#xff1…

用户界面和多媒体版面问题[二][j2medev][0406更新]

第一部分在 "用户界面和多媒体"版面问题整理[j2medev.com][不断更新中]。下面是后续更新的部分。全部目录为:1 全屏问题2 Image和ByteArray转换问题3 getRGB问题4 字符串换行问题5 字体问题6 重新播放音乐问题7 MediaException问题8 混音问题9 CustomItem…

手机用户界面和多媒体版面有价值问题整理[j2medev.com][0406更新]

预告:j2medev.com将开始整理各个版面的有价值问题,并以PDF格式集结,敬请期待。出品商产品名称产品版本J2medev.com版面有价值的问题合集0.1j2medev.com之“用户界面和多媒体”版面有价值问题的整理历史VersionDateCreatorDescription1.0.0.12…