当前位置:编程学习 > wap >>

用C++实现音频播放,直接使用使用libmediaplayer.so库接口实现音频播放问题

使用C++, 通过libmediaplayer.so库直接进行音频播放,其他功能都没问题,可以播放出来,但是遇到一个问题,如下:

libmediaplayer.so库中的多媒体接口大部分在mediaplayer.cpp中,这个文件中是MediaPlayer类的实现,我在C++代码中new了一个MediaPlayer对象,但是在delete的时候程序就挂掉了,现在找不到原因,请大家指点一下,不甚感谢
MediaPlayer *p = new MediaPlayer();
delete p;

就仅仅写上面两句都会出错,请大家指点下是为什么啊 --------------------编程问答-------------------- 谁来指点下啊,谢谢了 --------------------编程问答--------------------
引用 楼主 dengxuguang 的回复:
使用C++, 通过libmediaplayer.so库直接进行音频播放,其他功能都没问题,可以播放出来,但是遇到一个问题,如下:

libmediaplayer.so库中的多媒体接口大部分在mediaplayer.cpp中,这个文件中是MediaPlayer类的实现,我在C++代码中new了一个MediaPlayer对象,但是在delete的时候程序就挂掉了,现在找不到原因,请大家指点一下,不甚感谢
MediaPlayer *p = new MediaPlayer();
delete p;

就仅仅写上面两句都会出错,请大家指点下是为什么啊

是不是其它还有地方在用这个 p
--------------------编程问答-------------------- 是很奇怪,不过我更奇怪,你用C++调libmediaplayer.so库,介绍一下经验,干嘛要这么调用。
直接用OLE不可以吗? --------------------编程问答--------------------
引用 3 楼 jaffy 的回复:
是很奇怪,不过我更奇怪,你用C++调libmediaplayer.so库,介绍一下经验,干嘛要这么调用。
直接用OLE不可以吗?


没用过OLE,我的这样做是因为需要移植一个JAVA虚拟机到android系统中,该虚拟机需要加入JSR135(音频)扩展,我将libmediaplayer.so库中的音频播放相关接口提取出来,以JNI的方式提供给JSR135, 所以说最终JSR135是通过调用了android框架的音频播放来实现的。

我不太清楚你说用OLE是什么意思?能清楚介绍下么? --------------------编程问答--------------------
引用 2 楼 guoyoulei520 的回复:
Quote: 引用 楼主 dengxuguang 的回复:

使用C++, 通过libmediaplayer.so库直接进行音频播放,其他功能都没问题,可以播放出来,但是遇到一个问题,如下:

libmediaplayer.so库中的多媒体接口大部分在mediaplayer.cpp中,这个文件中是MediaPlayer类的实现,我在C++代码中new了一个MediaPlayer对象,但是在delete的时候程序就挂掉了,现在找不到原因,请大家指点一下,不甚感谢
MediaPlayer *p = new MediaPlayer();
delete p;

就仅仅写上面两句都会出错,请大家指点下是为什么啊

是不是其它还有地方在用这个 p



没有,我直接写个测试main函数,里面就
MediaPlayer *p = new MediaPlayer();
delete p;
这2句代码,还是挂掉。

现在问题解决了,我new出对象后,直接交给SP管理,这样就没有问题了,但是还是搞不懂为什么直接delete会挂掉
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,