求教,是否直接可以调用android的libmedia.so库进行音频播放

问题: 在C++代码中是否可以调用android系统的libmedia.so, 我用C++写了一个测试程序,调用了libmedia.so中mediaplayer.cpp中的方法进行音频播放,可以通过编译,也可以在android系统的机顶盒中执行,但是prepare()方法一直被阻塞,求大神指点该如何解决啊,给点思路好吗?以下是测试代码:

#include 
#include 
#include 

using namespace android;

int main()
{
    int iRet = 0;
    MediaPlayer *p= new MediaPlayer();
    
    iRet = p->setDataSource("/data/j2me/phoneme-cache/061075.midi", NULL);
    if (0 != iRet)
    {
        printf("[setDataSource] iRet = %d\n", iRet);
    }

    iRet = p->setAudioStreamType(3);
    if (0 != iRet)
    {
        printf("[setAudioStreamType] iRet = %d\n", iRet);
    }   
    
    iRet = p->prepare();
    if (0 != iRet)
    {
        printf("[prepare] iRet = %d\n", iRet);
    }

    iRet = p->start();
    if (0 != iRet)
    {
        printf("[start] iRet = %d\n", iRet);
    }

    p->stop();
    return 0;
}

你可能感兴趣的:(求教,是否直接可以调用android的libmedia.so库进行音频播放)