android 底层可以调用mediaplayer.h吗?
大家讲道理
大家讲道理 2017-04-17 13:49:02
[Android讨论组]

include目录怎么写?
试过好几个都说找不到

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(1)
高洛峰

猜测你说的可能是在NDK(c/c++)中想调用mediaplayer的接口来播放音视频,如果是的话,往下看,否则不用看了。

官方是没有在NDK里提供使用mediaplayer的接口的,但如果你一定要这样做,也是有可能的,思路就是:
1)从Android源码中找到mediaplayer.h以及libmediaplayer.so(库名字猜测应该是这样)
2)用so查看工具,得到libmediaplayer.so里面的函数接口
3)在自己的NDK中include mediaplayer.h,这个头文件可以copy到自己的工程来,用dllopen函数打开libmediaplayer.so获取里面的接口,参考android源代码使用mediaplayer播放音视频。

我自己用过此方法在NDK中调用AudioTrack(也是java sdk里的一个类)来播放音频,但也是有缺陷的,不同版本的Android,.h或.so里的接口有可能有变化,所以兼容性存在问题,需要对不同版本的接口都要检测一遍。

题外话,在NDK里播放音视频正规的做法,是调用NDK官方提供的模块OpenSL或OpenAL,具体见NDK文档和example

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号