2011-03-18 55 views
3

我在Android下聚集了ports ffmpeg和SDL。开始使用这里描述的程序:http://dranger.com/ffmpeg/tutorial03.html(需要ffmpeg + SDL的播放器)。编译并运行,但是这个功能后: SDL_OpenAudio(& wanted_spec,&规范) 写在日志中:SDL,ffmpeg和Android


     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为Android播放音频的例子

+0

我在Android上使用了ffmpeg,但不是SDL。你有没有试过做任何调试? NDK的docs目录中有一个NDK-GDB.html文件,其中包含有关如何运行应用程序的一些信息,以便您可以使用gdb。 – mikerowehl 2011-03-18 18:23:08

+0

SDL的哪个特定端口?看起来有不止一个。 – 2011-03-18 19:03:39

+0

此端口:http://www.libsdl.org/tmp/android-project.zip – Anton 2011-03-19 09:35:54

回答

2

SDL将不会被允许在Android的访问音频设备,因为我只知道它OS被允许。你可能可以做的是使用JNI来调用android库函数来播放声音。 http://developer.android.com/reference/android/media/AudioTrack.html

编辑:这个人似乎已经得到SDL与android音频一起工作。似乎最重要的拼图是这两个文件:

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

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

你可能需要做更多的工作才能使其工作,但这可能是一个开始。查看源代码树。

+0

可以写一个关于如何将SDL与AudioTrack结合使用的小例子? – Anton 2011-03-19 09:38:02

+0

@Anton Hmm,看着这个源代码,它似乎确实使用AudioTrack来完成它的声音。 – 2011-03-19 18:36:03

+0

@Anton没关系,在README.android的已知问题下,SDL音频被列为无法正常工作 – 2011-03-19 18:41:56