2 yzhang1 00 yzhang1_00 于 2014.12.12 17:12 提问

关于在android下用ffmpeg和sdl开发播放器的问题
sdl

从网上找了个ffmpeg和SDL开发的全格式播放器,但是发现每次播放完毕就会kill掉APP,好像是由于exit(0)执行的结果。
请问有没有人研究过这一块儿,如何只退出当前的activity,回到列表页面,而且下次进来还可以继续播放?
如果把C代码中解码和播放的部分写成线程有用吗?

2个回答

91program
91program   Ds   Rxr 2014.12.12 18:55

播放过程有没有先放在 Service 中?就像音乐播放器的实现一样。

yzhang1_00
yzhang1_00   2014.12.13 11:41

没有放在service中,但是放在一个线程中。我现在觉得是使用的SDL绘图的地方退不掉。我不调用exit(0),用return,程序不会退出,但是下次再播放的时候,会报错:
12-13 11:39:09.739: E/dalvikvm(30416): ERROR: detaching thread with interp frames (count=3)
12-13 11:39:09.739: I/dalvikvm(30416): "SDLThread0" prio=5 tid=17 RUNNABLE
12-13 11:39:09.739: I/dalvikvm(30416): | group="main" sCount=0 dsCount=0 obj=0x41fde248 self=0x5f8fe080
12-13 11:39:09.739: I/dalvikvm(30416): | sysTid=30942 nice=0 sched=0/0 cgrp=apps handle=1613390992
12-13 11:39:09.739: I/dalvikvm(30416): | schedstat=( 826167 1163541 17 ) utm=0 stm=0 core=2
12-13 11:39:09.739: I/dalvikvm(30416): at org.libsdl.app.SDLActivity.PlayerPrepare(Native Method)
12-13 11:39:09.739: I/dalvikvm(30416): at org.libsdl.app.SDLMain.run(SDLActivity.java:674)
12-13 11:39:09.739: I/dalvikvm(30416): at java.lang.Thread.run(Thread.java:856)
12-13 11:39:09.739: E/dalvikvm(30416): VM aborting
我已经把SDLThread0 interrupted掉了,但是好像它与C代码的attach没有断掉。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!