楼主知道如何调用opencore接口去播放一个mp3文件吗?网上搜了很多资料都是讲opencore这个框架的,没有示例的代码。我现在想在bootanimation里面调用opencore去播放一段开机音乐,求指导!谢谢!

解决方案 »

  1.   

    系统已经起来了,android把声卡设备打开了,所以我用移植的播放器(mp3play)去播会提示打不开声卡设备,所以才要用opencore来播放
      

  2.   

    没弄太懂 ,是在本地库自己扩充MP3支持库 ?那你不如直接整合到opencore里面 , 然后上层还是走MediaPlayer ,这样更合理吧 。如果是上层的一个播放器 ,那你移植的时候 ,改里面相应的播放接口就可以了啊  , 为啥还要在播放器里面自己去调底层库哦。。
      

  3.   

    我对OPENCORE 不怎么熟悉
    比较熟悉的是strangefright + omx
    大致谈谈我对OMX的了解吧
     OMX 只提供出来少数的几个函数接口路OMX_Init这样的标准接口,OMX core可以说是OMX IL层的具体实现,OMX Component 则是一个个编解码的具体实现,比如实现H264的解码。
    这两个都是各个厂商有各个厂商自己的实现的。能拉到源码的话可以去源码目录中自己看看高通跟TI分别是怎么实现的。一般的大多会把单个的Component 写成一个类的形式,
    OMX core 跟OMX Component 的关系是这样的:
    OMX core中具体作用是实现OMX提供出来的几个接口,然后能让自己装载生成自己实现的Component 对象。OMX_GetHandle这个函数比较重要,他会返回一个OMX_HANDLETYPE*类型的句柄给调用者,这个句柄能被OMX core解析成具体的Component 对象。比如OPENCORE在H264解码的时候会使用这个句柄去调用EmptyThisBuffer这个函数把需要解码的数据送给具体的h264解码的Component 对象。这个中间的具体的解析过程就是由OMX core来负责的。
      

  4.   

    不晓得你有源码不
    /hardware/qcom/media/mm-core是高通的omx core实现
    /hardware/qcom/media/mm-video是高通的omx Component 实现,主要是视频的硬解码。
      

  5.   

    看来还是要看源码啊,手头只有官方的源码,那我要移植一个解码器(目前只考虑解码,编码和文件解析不管)到openmax中,要关注的是OMX core和omx component之间的连接,对吗?
      

  6.   

    这个其实都是在OMX CORE里做好了,如果只是在现有的openmax框架之下弄的话,只需要关注component的实现就好了。
      

  7.   

    相关源码有些厂商是不给的。。我们就是。
    还有啊,opencore已经被android抛弃了,现在只有stagefright了。