ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SDL,ffmpeg和Android

2019-12-08 16:26:25  阅读:174  来源: 互联网

标签:ffmpeg sdl audio 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声音之间的桥梁.

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

标签:ffmpeg,sdl,audio,android
来源: https://codeday.me/bug/20191208/2092737.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有