我正在创建一个带有音频的应用程序,但我已经在OPENES SL中创建了原生音频播放器并且我正在设置其播放速率,因此它给出了异常错误,此应用程序死后我将显示日志
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG(17995): Build fingerprint: 'SEMC/MK16i_1249-7510/MK16i:4.0.4/4.1.B.0.587
/tL1_3w:user/release-keys'
I/DEBUG(17995): pid: 30880, tid: 30880 >>> PACKAGE NAME <<<
I/DEBUG(17995): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
I/DEBUG(17995): r0 00000000 r1 00000002 r2 25545b4e r3 25545b4e
I/DEBUG(17995): r4 3b7f2004 r5 00000002 r6 00000000 r7 364e3cc8
I/DEBUG(17995): r8 7e9346a8 r9 364e3cc0 10 00000000 fp 7e9346bc
I/DEBUG(17995): ip 2aaae108 sp 7e934698 lr 3b7ee8a5 pc 3b7ee8aa cpsr 00000030
I/DEBUG(17995): d0 6472656767756265 d1 69616475536f6928
I/DEBUG(17995): d2 2f6d796172685363 d3 726576696563656f
I/DEBUG(17995): d4 367815f8367815c0 d5 3678166836781630
I/DEBUG(17995): d6 367816d8367816a0 d7 3678174836781710
I/DEBUG(17995): d8 0000000000000000 d9 0000000000000000
I/DEBUG(17995): d10 0000000000000000 d11 0000000000000000
I/DEBUG(17995): d12 0000000000000000 d13 0000000000000000
I/DEBUG(17995): d14 0000000000000000 d15 0000000000000000
I/DEBUG(17995): d16 000000012b54c880 d17 4010000000000000
I/DEBUG(17995): d18 0000000000000000 d19 0000000000000000
I/DEBUG(17995): d20 3f1155e54e7e8408 d21 0000000000000000
I/DEBUG(17995): d22 0000000000000000 d23 3fede16b9c24a98f
I/DEBUG(17995): d24 3e66376972bea4d0 d25 3fc39a09d078c69f
I/DEBUG(17995): d26 0000000000000000 d27 0000000000000000
I/DEBUG(17995): d28 0000000000000000 d29 0000000000000000
I/DEBUG(17995): d30 0000000000000000 d31 0000000000000000
I/DEBUG(17995): scr 60000012
I/DEBUG(17995): #00 pc 000018aa /mnt/asec/Package Name-1/lib/libaudio-tools.so (Java_Package Name_receiver_AudioReceiver_NsetRate)
I/DEBUG(17995): #01 pc 0001ec30 /system/lib/libdvm.so (dvmPlatformInvoke)
I/DEBUG(17995): #02 pc 00058c70 /system/lib/libdvm.so (_Z16dvmCallJNIMethodPKjP6JValuePK6MethodP6Thread)
I/DEBUG(17995): code around pc:
I/DEBUG(17995): 3b7ee888 4c0ab538 447c1c15 2b006923 4908d00c 8..L..|D#i.+...I
I/DEBUG(17995): 3b7ee898 20044a08 447a4479 edc4f7ff 04296a20 .J. yDzD.... j).
I/DEBUG(17995): 3b7ee8a8 68031409 4798681b 46c0bd38 00003772 ...h.h.G8..Fr7..
I/DEBUG(17995): 3b7ee8b8 000016b8 00001736 4b09b510 2000b082 ....6......K...
I/DEBUG(17995): 3b7ee8c8 6a1a447b d0082a00 466c6813 685b3406 {D.j.*...hlF.4[h
I/DEBUG(17995): code around lr:
I/DEBUG(17995): 3b7ee884 00003790 4c0ab538 447c1c15 2b006923 .7..8..L..|D#i.+
I/DEBUG(17995): 3b7ee894 4908d00c 20044a08 447a4479 edc4f7ff ...I.J. yDzD....
I/DEBUG(17995): 3b7ee8a4 04296a20 68031409 4798681b 46c0bd38 j)....h.h.G8..F
I/DEBUG(17995): 3b7ee8b4 00003772 000016b8 00001736 4b09b510 r7......6......K
I/DEBUG(17995): 3b7ee8c4 2000b082 6a1a447b d0082a00 466c6813 ... {D.j.*...hlF
I/DEBUG(17995): stack:
I/DEBUG(17995): 7e934658 3b9add97 /system/lib/libwilhelm.so
I/DEBUG(17995): 7e93465c 00000000
I/DEBUG(17995): 7e934660 7e9346a8 [stack]
I/DEBUG(17995): 7e934664 364e3cc4
I/DEBUG(17995): 7e934668 00000000
I/DEBUG(17995): 7e93466c 001af51c [heap]
I/DEBUG(17995): 7e934670 00000000
I/DEBUG(17995): 7e934674 25545b4e
I/DEBUG(17995): 7e934678 00000000
I/DEBUG(17995): 7e93467c 3b7f2004 /mnt/asec/Package name-1/lib/libaudio-tools.so
I/DEBUG(17995): 7e934680 00000002
I/DEBUG(17995): 7e934684 00000000
I/DEBUG(17995): 7e934688 364e3cc8
I/DEBUG(17995): 7e93468c 3b7ee8a5 /mnt/asec/Package name-1/lib/libaudio-tools.so
I/DEBUG(17995): 7e934690 df0027ad
I/DEBUG(17995): 7e934694 00000000
I/DEBUG(17995): #00 7e934698 364e3d28
I/DEBUG(17995): 7e93469c 3677dd08 /dev/ashmem/dalvik-LinearAlloc (deleted)
I/DEBUG(17995): 7e9346a0 00012b68 [heap]
I/DEBUG(17995): 7e9346a4 2b2bdc34 /system/lib/libdvm.so
I/DEBUG(17995): #01 7e9346a8 364e3cbc
I/DEBUG(17995): 7e9346ac 00000001
I/DEBUG(17995): 7e9346b0 2bdea110 /dev/ashmem/dalvik-heap (deleted)
I/DEBUG(17995): 7e9346b4 00012b78 [heap]
I/DEBUG(17995): 7e9346b8 7e934938 [stack]
I/DEBUG(17995): 7e9346bc 2b2f7c73 /system/lib/libdvm.so
I/BootReceiver(283): Copying /data/tombstones/tombstone_05 to DropBox (SYSTEM_TOMBSTONE)
I/ActivityManager(283): Process PACKAGE NAME (pid 30880) has died.
以下是我设定费率的ndk代码
JNIEXPORT void Java_PACKAGE NAME_receiver_AudioReceiver_NsetRate(
JNIEnv* env, jclass clazz, jint rate) {
if (NULL != fdPlayerPlay) {
SLresult result;
LOGI("SET RATE");
result = (*fdPlaybackRate)->SetRate(fdPlaybackRate, rate);
assert(SL_RESULT_SUCCESS == result);
}
}
所以请任何人告诉我这是什么错误,我怎样才能解决它?
修改
我已经从here获取了原生播放器代码,但它仍然给出同样的错误请帮助我,我无法弄清楚错误是什么:(
答案 0 :(得分:-1)
使用NDK addr2line将pc 000018aa
转换为代码中的行号。
目前尚不清楚fdPlayerPlay
和fdPlaybackRate
代表什么,以及如何声明这些内容。但是以下行可能有拼写错误。而不是
result =(* fdPlaybackRate) - &gt; SetRate(fdPlaybackRate,rate);
应该可以阅读
result =(* fdPlayerPlay) - &gt; SetRate(fdPlaybackRate,rate);
if (NULL != fdPlayerPlay) {
应该可以阅读
if (NULL != fdPlaybackRate) {