繁体   English   中英

Android录音机应用程序崩溃

[英]Android Voice Recorder app is crashed

我正在使用一个在Eclipse中构建的用于语音记录并与Giss.tv服务器一起播放的应用程序。 现在,我已经将该应用程序代码迁移到了Android Studio中。 在成功构建此应用之前,我遇到了很多错误。

现在,我的代码正在生成apk,并且它已在模拟器以及设备中打开。 但是当我开始录制语音时,出现错误“不幸的是xxx已停止”并关闭了应用程序。

当我检查logcat的错误和异常时,我得到以下异常-

01-14 11:51:22.875 3711-3775/com.vorbisdemo E/art: No implementation found for int org.xiph.vorbis.encoder.VorbisEncoder.startEncodingWithQuality(long, long, float, org.xiph.vorbis.encoder.EncodeFeed) (tried Java_org_xiph_vorbis_encoder_VorbisEncoder_startEncodingWithQuality and Java_org_xiph_vorbis_encoder_VorbisEncoder_startEncodingWithQuality__JJFLorg_xiph_vorbis_encoder_EncodeFeed_2)
01-14 11:51:22.875 3711-3775/com.vorbisdemo E/AndroidRuntime: FATAL EXCEPTION: Thread-175
                                                              Process: com.vorbisdemo, PID: 3711
                                                              java.lang.UnsatisfiedLinkError: No implementation found for int org.xiph.vorbis.encoder.VorbisEncoder.startEncodingWithQuality(long, long, float, org.xiph.vorbis.encoder.EncodeFeed) (tried Java_org_xiph_vorbis_encoder_VorbisEncoder_startEncodingWithQuality and Java_org_xiph_vorbis_encoder_VorbisEncoder_startEncodingWithQuality__JJFLorg_xiph_vorbis_encoder_EncodeFeed_2)
                                                                  at org.xiph.vorbis.encoder.VorbisEncoder.startEncodingWithQuality(Native Method)
                                                                  at org.xiph.vorbis.recorder.VorbisRecorder$AsyncEncoding.run(VorbisRecorder.java:512)
                                                                  at java.lang.Thread.run(Thread.java:818)

我有来自VorbisRecorder.java的代码( https://github.com/vincentjames501/libvorbis-libogg-android/blob/master/src/org/xiph/vorbis/recorder/VorbisRecorder.java

我试图检查(行号511)的输入值

case WITH_QUALITY:
                    result = VorbisEncoder.startEncodingWithQuality(sampleRate, numberOfChannels, quality, encodeFeed);
                    break;

和值如下所示-

“ sampleRate” = 44100,“ numberOfChannels” = 2,“ quality” = 0.2,“ encodeFeed” = org.xiph.vorbis.recorder.VorbisRecorder$OutputStreamEncodeFeed@19b5c49c

所以我不明白为什么即使值似乎有效,异常​​也会被抛出这里。

startEncodingWithQuality是一个本机函数(请参阅此处 ),您的应用程序会搜索本机实现,但找不到它。

不幸的是,我有个坏消息:AndroidStudio尚不完全支持NDK开发。 我认为您有两种选择:

  • 您可以在此处找到有关如何使用实验性Gradle插件的教程。 准备好NDK支持后,它应该可以工作。

要么

  • 将以下内容添加到gradle文件中: dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') }到gradle中,而libslibvorbis-libogg-android / libs /的路径

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM