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

问题描述

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

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

解决方案

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

解决方案二:

没有放在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没有断掉。

时间: 2025-01-21 09:00:01

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

Android 使用Vitamio打造自己的万能播放器(7)——在线播放(下载视频)_Android

前言 本章将实现非常实用的功能--下载在线视频.涉及到多线程.线程更新UI等技术,还需思考产品的设计,如何将新加的功能更好的融入到现有的产品中,并不是简单的加一个界面就行了,欢迎大家交流产品设计和技术细节实现! 系列 1.Android 使用Vitamio打造自己的万能播放器(1)--准备 2.Android 使用Vitamio打造自己的万能播放器(2)-- 手势控制亮度.音量.缩放 3.Android 使用Vitamio打造自己的万能播放器(3)--本地播放(主界面.视频列表) 4.Andro

Android 使用Vitamio打造自己的万能播放器(5)——在线播放(播放优酷视频)_Android

 前言 为了保证每周一篇的进度,又由于Vitamio新版本没有发布, 决定推迟本地播放的一些功能(截图.视频时间.尺寸等),跳过直接写在线播放部分的章节.从Vitamio的介绍可以看得出,其支持http.m3u8等多种网络协议,本章将编写播放优酷视频的例子. 系列 1.Android使用Vitamio打造自己的万能播放器(1)--准备 2.Android使用Vitamio打造自己的Android万能播放器(2)-- 手势控制亮度.音量.缩放 3.Android使用Vitamio打造自己的Andr

android下的数字信号处理的开发

问题描述 android下的数字信号处理的开发 5C 求大神指点下,android的开发怎么实现相关的数字信号处理功能.大概是哪些方面的知识,要不要做底层的开发 解决方案 看是什么信号,音频处理也算是数字信号处理,摄像头拍照也算数字信号处理.软件分析也算,需要传感器也算.有些需要底层,有些不需要. 解决方案二: DSP?如果是,则需要做驱动.Android 下的驱动,与 Linux相似. 解决方案三: 这个问题有点太笼统了,如果真是DSP(数字信号处理器)相关,这必然要与底层打交道.需要Linu

嵌入式-linux下支持DLNA的开源音频播放器有哪些?

问题描述 linux下支持DLNA的开源音频播放器有哪些? linux下支持DLNA的开源音频播放器好像很少,在网上找了很久都没有,目前用的比较多的是VLC和mPlayer, 但这两个都比较大,不适合嵌入式,不知道大家有没有好的推荐 解决方案 realplayer,或者是你自己写一个播放器,使用ffmpeg+qt 解决方案二: 自己写一个播放器,使用ffmpeg+qt

Android 使用Vitamio打造自己的万能播放器(4)——本地播放(快捷搜索、数据存储)_Android

前言 关键字:Vitamio.VPlayer.Android播放器.Android影音.Android开源播放器 本章节把Android万能播放器本地播放的主要功能(缓存播放列表和A-Z快速查询功能)完成,和播放组件关系不大,但用到一些实用的技术,欢迎交流! 系列 1.Android 使用Vitamio打造自己的万能播放器(1)--准备 2.Android 使用Vitamio打造自己的万能播放器(2)-- 手势控制亮度.音量.缩放 3.Android 使用Vitamio打造自己的万能播放器(3)

Android 使用Vitamio打造自己的万能播放器(10)—— 本地播放 (缩略图、视频信息、视频扫描服务)_Android

前言  Vitamio是我们团队的诚意之作,除了要将VPlayer打造成Android最好的播放器,也要将Vitamio打造成Android最好的播放器组件.新版发布内测SDK虽然还有一些问题,但已经具备高可扩展性.便捷性和许多内置实用的功能,后续文章将继续深挖和介绍Vitamio的使用细节和方法.本章将提供显示缩略图.视频大小等视频信息,并介绍使用Vitamio内置的ContentProvider以及文件扫描服务. 注意  本章ContentProvider在2012-8-31发布的SDK中已

Android 使用Vitamio打造自己的万能播放器(9)—— 在线播放 (在线电视)_Android

前言  如果不想自己去找视频看,以传统方式看电视也不错,比如CCTV.湖南卫视等.本章从网络收集几百个电视台的地址,采用多级分类方式呈现,极大丰富在线播放部分的内容. 系列 1.Android 使用Vitamio打造自己的万能播放器(1)--准备 2.Android 使用Vitamio打造自己的万能播放器(2)-- 手势控制亮度.音量.缩放 3.Android 使用Vitamio打造自己的万能播放器(3)--本地播放(主界面.视频列表) 4.Android 使用Vitamio打造自己的万能播放器

Android 使用Vitamio打造自己的万能播放器(2)—— 手势控制亮度、音量、缩放_Android

前言 本章继续完善播放相关播放器的核心功能,为后续扩展打好基础. 系列 1.Android 使用Vitamio打造自己的万能播放器(1)--准备    正文            一.实现目标  1.1 亮度控制   模仿VPlayer界面:  1.2 声音控制    模仿VPlayer界面:  1.3 画面缩放   根据下面API提供画面的拉伸.剪切.100%.全屏            二.Vitamio API 介绍  VideoView  2.1 public void start()

Android 使用Vitamio打造自己的万能播放器(6)——在线播放(播放列表)_Android

前言 新版本的VPlayer由设计转入开发阶段,预计开发周期为一个月,这也意味着新版本的Vitamio将随之发布,开发者们可以和本系列文章一样,先开发其他功能.本章内容为"在线视频播放列表",集合了主流各大视频网站的手机版,欢迎给"开播视频"反馈改进建议! 系列 1.Android 使用Vitamio打造自己的万能播放器(1)--准备 2.Android 使用Vitamio打造自己的Android万能播放器(2)-- 手势控制亮度.音量.缩放 3.Android 使