解决方案 »
- error: Error retrieving parent for item: No resource found that matches the give
- 安卓开发,程序在后台不运行。
- android:如何做到点击链接,自己的程序可以响应?
- 异步加载图片显示时怎样加进度条
- 跪求Android中文教程
- 请问android中有没有类似ShowMessage那种模态对话框
- android访问Java接口404
- 解决Android中ListView Radiogroup CheckBox动态绑定数据界面混乱问题
- 关于edittext图文混排的问题
- Android 拍照或录像预览
- 创建一个兼容2.3android项目,minimum SDK,target SDK,compile with
- android皮套解锁屏
音频播放流程就是 setDatasource()\prepare()\start().......
但直接通过so库调用就是有问题
求指点
音频播放流程就是 setDatasource()\prepare()\start().......
但直接通过so库调用就是有问题
求指点java层播放媒体的代码也有setDatasource. prepare.其对应 的流程你也看过了吧....
是不是权限或其它的问题?看下prepare函数,什么情况下会阻塞 啊
音频播放流程就是 setDatasource()\prepare()\start().......
但直接通过so库调用就是有问题
求指点java层播放媒体的代码也有setDatasource. prepare.其对应 的流程你也看过了吧....
是不是权限或其它的问题?看下prepare函数,什么情况下会阻塞 啊开log跟了下流程,libmedia.so 是通过binder和libmediaplayer.so进行通信的, libmediaplayer.so在系统中是以/system/bin/mediaserver这个service来提供服务的,libmediaplayer.so接到libmedia.so(也就是我的测试程序进程)的执行prepare()的请求后,确实执行了prepare(),而且通过log对比发现执行结果也是正确的,而阻塞的真正原因在于libmediaplayer.so执行完prepare()后通过binder将结果回传给测试程序时失败,导致测试程序一直阻塞,现在的问题是搞不清为什么回调会失败,以前从没搞过android, 对音频架构中的IBinder机制完全不明白,难道又要去搞清楚IBinder机制,要疯了, 还有一种方法就是直接调用libmediaplayer.so,避过libmedia.so和libmediaplayer.so的Binder通讯,问题是我编译了一下,一大堆的编译问题,悲剧啊
音频播放流程就是 setDatasource()\prepare()\start().......
但直接通过so库调用就是有问题
求指点java层播放媒体的代码也有setDatasource. prepare.其对应 的流程你也看过了吧....
是不是权限或其它的问题?看下prepare函数,什么情况下会阻塞 啊开log跟了下流程,libmedia.so 是通过binder和libmediaplayer.so进行通信的, libmediaplayer.so在系统中是以/system/bin/mediaserver这个service来提供服务的,libmediaplayer.so接到libmedia.so(也就是我的测试程序进程)的执行prepare()的请求后,确实执行了prepare(),而且通过log对比发现执行结果也是正确的,而阻塞的真正原因在于libmediaplayer.so执行完prepare()后通过binder将结果回传给测试程序时失败,导致测试程序一直阻塞,现在的问题是搞不清为什么回调会失败,以前从没搞过android, 对音频架构中的IBinder机制完全不明白,难道又要去搞清楚IBinder机制,要疯了, 还有一种方法就是直接调用libmediaplayer.so,避过libmedia.so和libmediaplayer.so的Binder通讯,问题是我编译了一下,一大堆的编译问题,悲剧啊
那你参考android_media_MediaPlayer.cpp吧,应该可以,里面有IPC的调用,你参考下
音频播放流程就是 setDatasource()\prepare()\start().......
但直接通过so库调用就是有问题
求指点java层播放媒体的代码也有setDatasource. prepare.其对应 的流程你也看过了吧....
是不是权限或其它的问题?看下prepare函数,什么情况下会阻塞 啊开log跟了下流程,libmedia.so 是通过binder和libmediaplayer.so进行通信的, libmediaplayer.so在系统中是以/system/bin/mediaserver这个service来提供服务的,libmediaplayer.so接到libmedia.so(也就是我的测试程序进程)的执行prepare()的请求后,确实执行了prepare(),而且通过log对比发现执行结果也是正确的,而阻塞的真正原因在于libmediaplayer.so执行完prepare()后通过binder将结果回传给测试程序时失败,导致测试程序一直阻塞,现在的问题是搞不清为什么回调会失败,以前从没搞过android, 对音频架构中的IBinder机制完全不明白,难道又要去搞清楚IBinder机制,要疯了, 还有一种方法就是直接调用libmediaplayer.so,避过libmedia.so和libmediaplayer.so的Binder通讯,问题是我编译了一下,一大堆的编译问题,悲剧啊
那你参考android_media_MediaPlayer.cpp吧,应该可以,里面有IPC的调用,你参考下这个文件看过,是JNI这一层的,它向下调用了libmedia.so, 在libmedia.so里面才通过binder和liblibmediaplayerservice.so 进行通信,我看了下通信的代码,感觉比较复杂,要弄清楚估计要花很长时间,我这边又比较急,郁闷