2011-03-18 52 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