SDL,ffmpeg和Android

我将Android下的ffmpeg和SDL端口收集在一起.开始使用此处描述的程序:http://dranger.com/ffmpeg/tutorial03.html(ffmpeg SDL需要播放器).编译并运行,但执行以下功能
SDL_OpenAudio(& wanted_spec,& spec)
在日志中写道:


        03-15 14:09:42.856: VERBOSE/SDL(436): SDL audio: opening device
03-15 14:09:42.976: INFO/DEBUG(31): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
03-15 14:09:42.976: INFO/DEBUG(31): Build fingerprint: 'generic/sdk/generic/:2.2/FRF91/43546:eng/test-keys'
03-15 14:09:42.986: INFO/DEBUG(31): pid: 436, tid: 436  >>> org.libsdl.app
03-15 14:09:42.986: INFO/DEBUG(31): signal 11 (SIGSEGV), fault addr 00000000
03-15 14:09:42.986: INFO/DEBUG(31):  r0 00000000  r1 00000000  r2 00000000  r3 be9587e4
03-15 14:09:42.996: INFO/DEBUG(31):  r4 000001cc  r5 80a7436c  r6 00004bb4  r7 ffff844c
03-15 14:09:42.996: INFO/DEBUG(31):  r8 00000400  r9 00000000  10 0000ac44  fp 00000000
03-15 14:09:43.006: INFO/DEBUG(31):  ip 00000000  sp be9587c8  lr 80a66411  pc 80a663ac  cpsr 00000030
03-15 14:09:43.246: INFO/DEBUG(31):          #00  pc 000663ac  /data/data/org.libsdl.app/lib/libSDL.so
03-15 14:09:43.257: INFO/DEBUG(31):          #01  pc 0006640c  /data/data/org.libsdl.app/lib/libSDL.so
03-15 14:09:43.257: INFO/DEBUG(31):          #02  pc 0006526c  /data/data/org.libsdl.app/lib/libSDL.so
03-15 14:09:43.266: INFO/DEBUG(31):          #03  pc 0002a5ba  /data/data/org.libsdl.app/lib/libSDL.so
03-15 14:09:43.277: INFO/DEBUG(31):          #04  pc 0002aad0  /data/data/org.libsdl.app/lib/libSDL.so
03-15 14:09:43.277: INFO/DEBUG(31):          #05  pc 00024d72  /data/data/org.libsdl.app/lib/libtest.so
03-15 14:09:43.300: INFO/DEBUG(31):          #06  pc 00013974  /system/lib/libdvm.so
03-15 14:09:43.300: INFO/DEBUG(31):          #07  pc 0003de3c  /system/lib/libdvm.so
03-15 14:09:43.306: INFO/DEBUG(31):          #08  pc 00037216  /system/lib/libdvm.so
03-15 14:09:43.316: INFO/DEBUG(31):          #09  pc 000432ec  /system/lib/libdvm.so
03-15 14:09:43.316: INFO/DEBUG(31):          #10  pc 00018714  /system/lib/libdvm.so
03-15 14:09:43.327: INFO/DEBUG(31):          #11  pc 0001e8c4  /system/lib/libdvm.so
03-15 14:09:43.327: INFO/DEBUG(31):          #12  pc 0001d790  /system/lib/libdvm.so
03-15 14:09:43.337: INFO/DEBUG(31):          #13  pc 0005408e  /system/lib/libdvm.so
03-15 14:09:43.347: INFO/DEBUG(31):          #14  pc 0005bde2  /system/lib/libdvm.so
03-15 14:09:43.347: INFO/DEBUG(31):          #15  pc 00018714  /system/lib/libdvm.so
03-15 14:09:43.357: INFO/DEBUG(31):          #16  pc 0001e8c4  /system/lib/libdvm.so
03-15 14:09:43.357: INFO/DEBUG(31):          #17  pc 0001d790  /system/lib/libdvm.so
03-15 14:09:43.376: INFO/DEBUG(31):          #18  pc 00053eec  /system/lib/libdvm.so
03-15 14:09:43.376: INFO/DEBUG(31):          #19  pc 0004072c  /system/lib/libdvm.so
03-15 14:09:43.387: INFO/DEBUG(31):          #20  pc 00034454  /system/lib/libdvm.so
03-15 14:09:43.397: INFO/DEBUG(31):          #21  pc 0002c930  /system/lib/libandroid_runtime.so
03-15 14:09:43.397: INFO/DEBUG(31):          #22  pc 0002d85c  /system/lib/libandroid_runtime.so
03-15 14:09:43.407: INFO/DEBUG(31):          #23  pc 00008c86  /system/bin/app_process
03-15 14:09:43.417: INFO/DEBUG(31):          #24  pc 0000d362  /system/lib/libc.so
03-15 14:09:43.417: INFO/DEBUG(31): code around pc:
03-15 14:09:43.427: INFO/DEBUG(31): 80a6638c ff8ef7ff 46c0bd10 0000dfe6 00004bb4 
03-15 14:09:43.427: INFO/DEBUG(31): 80a6639c b530b40c ab06b083 24e6cb04 93010064 
03-15 14:09:43.437: INFO/DEBUG(31): 80a663ac 592c6805 b00347a0 bc08bc30 4718b002 
03-15 14:09:43.437: INFO/DEBUG(31): 80a663bc 4657b5f0 b4c04646 1c144d30 4a314f30 
03-15 14:09:43.447: INFO/DEBUG(31): 80a663cc 1c0e447d 063618aa 4682b087 200219e9 
03-15 14:09:43.447: INFO/DEBUG(31): code around lr:
03-15 14:09:43.457: INFO/DEBUG(31): 80a663f0 19acdd3f 54a32238 69616922 6be24694 
03-15 14:09:43.457: INFO/DEBUG(31): 80a66400 46439301 93029000 46534660 ffc6f7ff 
03-15 14:09:43.457: INFO/DEBUG(31): 80a66410 61e01c01 d02e2800 68036920 47986d5b 
03-15 14:09:43.477: INFO/DEBUG(31): 80a66420 2300466a 70133217 5ce32320 61e01c01 
03-15 14:09:43.477: INFO/DEBUG(31): 80a66430 d11a2b00 23b86920 009b6807 479858fb 
03-15 14:09:43.477: INFO/DEBUG(31): stack:
03-15 14:09:43.487: INFO/DEBUG(31):     be958788  afd4054c  /system/lib/libc.so
03-15 14:09:43.487: INFO/DEBUG(31):     be95878c  000003fc  
03-15 14:09:43.487: INFO/DEBUG(31):     be958790  8135da50  /data/data/org.libsdl.app/lib/libtest.so
03-15 14:09:43.487: INFO/DEBUG(31):     be958794  afd14bd5  /system/lib/libc.so
03-15 14:09:43.487: INFO/DEBUG(31):     be958798  be9587a0  [stack]
03-15 14:09:43.487: INFO/DEBUG(31):     be95879c  be9587a8  [stack]
03-15 14:09:43.497: INFO/DEBUG(31):     be9587a0  00000001  
03-15 14:09:43.497: INFO/DEBUG(31):     be9587a4  00000000  
03-15 14:09:43.507: INFO/DEBUG(31):     be9587a8  00000000  
03-15 14:09:43.507: INFO/DEBUG(31):     be9587ac  afd103f0  /system/lib/libc.so
03-15 14:09:43.507: INFO/DEBUG(31):     be9587b0  00000003  
03-15 14:09:43.507: INFO/DEBUG(31):     be9587b4  afd41724  /system/lib/libc.so
03-15 14:09:43.507: INFO/DEBUG(31):     be9587b8  0012ecc0  [heap]
03-15 14:09:43.507: INFO/DEBUG(31):     be9587bc  c0000000  
03-15 14:09:43.517: INFO/DEBUG(31):     be9587c0  df002777  
03-15 14:09:43.517: INFO/DEBUG(31):     be9587c4  e3a070ad  
03-15 14:09:43.527: INFO/DEBUG(31): #00 be9587c8  00000003  
03-15 14:09:43.527: INFO/DEBUG(31):     be9587cc  be9587e4  [stack]
03-15 14:09:43.527: INFO/DEBUG(31):     be9587d0  80a7436c  /data/data/org.libsdl.app/lib/libSDL.so
03-15 14:09:43.527: INFO/DEBUG(31):     be9587d4  80a78f20  
03-15 14:09:43.537: INFO/DEBUG(31):     be9587d8  80a7436c  /data/data/org.libsdl.app/lib/libSDL.so
03-15 14:09:43.537: INFO/DEBUG(31):     be9587dc  80a66411  /data/data/org.libsdl.app/lib/libSDL.so
03-15 14:09:43.537: INFO/DEBUG(31):     be9587e0  00000000  
03-15 14:09:43.537: INFO/DEBUG(31):     be9587e4  0000ac44  [heap]
03-15 14:09:43.537: INFO/DEBUG(31): #01 be9587e8  00000001  
03-15 14:09:43.547: INFO/DEBUG(31):     be9587ec  00000001  
03-15 14:09:43.547: INFO/DEBUG(31):     be9587f0  00000400  
03-15 14:09:43.547: INFO/DEBUG(31):     be9587f4  0025b7d8  [heap]
03-15 14:09:43.557: INFO/DEBUG(31):     be9587f8  40000000  /dev/ashmem/system_properties (deleted)
03-15 14:09:43.557: INFO/DEBUG(31):     be9587fc  afd0c7a1  /system/lib/libc.so
03-15 14:09:43.557: INFO/DEBUG(31):     be958800  80a7436c  /data/data/org.libsdl.app/lib/libSDL.so
03-15 14:09:43.577: INFO/DEBUG(31):     be958804  00000000  
03-15 14:09:43.577: INFO/DEBUG(31):     be958808  00001cac  
03-15 14:09:43.577: INFO/DEBUG(31):     be95880c  80a7436c  /data/data/org.libsdl.app/lib/libSDL.so
03-15 14:09:43.577: INFO/DEBUG(31):     be958810  0025b7d8  [heap]
03-15 14:09:43.577: INFO/DEBUG(31):     be958814  00008010  /system/bin/app_process
03-15 14:09:43.577: INFO/DEBUG(31):     be958818  40000000  /dev/ashmem/system_properties (deleted)
03-15 14:09:43.587: INFO/DEBUG(31):     be95881c  80a65271  /data/data/org.libsdl.app/lib/libSDL.so
03-15 14:09:44.477: DEBUG/Zygote(33): Process 436 terminated by signal (11)

如何解决这个问题呢?或至少这意味着在DEBUG Dunno中,如果?提前致谢.

如果您不知道如何解决,请告诉我一个有关如何通过SDL for Android播放音频的示例

解决方法:

根据我的理解,SDL仅允许操作系统访问,因此不允许在android下访问音频设备.您可能可以做的就是使用JNI调用android库函数来播放声音. http://developer.android.com/reference/android/media/AudioTrack.html

编辑:这个人似乎已经SDL与android音频一起工作.似乎最重要的难题是以下两个文件

Audio.java-在您的主要活动中创建AudioThread的实例,它应该使用SDL设置适当的回调.

SDL_androidaudio.c-SDL声音和android声音之间的桥梁.

要使其正常运行,您可能需要做更多的工作,但这可能是一个开始.看看源代码树.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...