zoukankan      html  css  js  c++  java
  • [J2ME Q&A]MMAPI的Cannot parse this type of AMR异常之讨论

    [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模拟器上播放这种文件时依然得到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模拟器上播放视频,但没有声音,也得到了大量的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模拟器。

     

    [小结]

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

     

  • 相关阅读:
    (转)Android Studio解决unspecified on project app resolves to an APK archive which is not supported
    OpenGL 学习总结
    关于tap设备
    写把proto函数搞清楚
    qemu中是怎么模拟的新的设备
    kvm搭建完成了,那么问题来了,到底是什么原理
    kvm竟然抓不到kvm的tracepoint
    安装KVM
    试着理解下kvm
    网络namespace
  • 原文地址:https://www.cnblogs.com/zhengyun_ustc/p/Cannot_parse_this_type_of_AMR.html
Copyright © 2011-2022 走看看