小编And*_*eaT的帖子

如何调试使用cmake外部编译的android native C库

本质上,我需要调试FreeRDP Android项目中包含的本机C代码。

我使用指示的bash脚本成功编译了从Github下载的项目。 https://github.com/FreeRDP/FreeRDP/blob/master/docs/README.android

我还使用Android Studio正确编译了Android部分。通过连接到几个Windows服务器,我可以在几个设备上正确运行Android应用程序,而不会出现问题。

对本机库中的C源代码进行更改会生成运行时错误,因此我需要调试C源代码。

我确实遇到了他的问题,没有人能够回答,我什至不知道他是否找到了解决办法。不幸的是,我的声誉(<50)不允许我在该帖子(和其他类似内容)下发表评论


我认为.so文件已正确编译,我已经检查过objdump --symsobjdump --debugging但无法进入本机代码。在Android Studio中,我已经设置好了,Debug type: Dual而且我也尝试穿上没有效果的LLDB Startup Commands东西breakpoint set --name <function>

当本机代码引发异常时

---------崩溃开始
10-02 14:42:22.064 32032-32032 / com.freerdp.afreerdp A / libc:致命信号11(SIGSEGV),代码1,在tid 32032中的故障地址0x28( reerdp.afreerdp)

调试因以下错误而停止:

__ lldb_unnamed_symbol64 $$ libfreerdp-android2.so

(由于我的声誉,我无法发布Android Studio屏幕截图)


当然,创建使用本机代码并在本机代码中设置brackpoint的应用程序没有问题。 https://developer.android.com/ndk/guides/index.html


环境:
Ubuntu 16.04.3 LTS
Android Studio 2.3.3
Gradle版本3.3
cmake版本3.5.1(在系统上)
cmake版本3.6.0-rc2(在android sdk上)
lldb版本4.0.0(在android sdk上)

在此先感谢任何可以给我任何帮助的人。

安德里亚

debugging java-native-interface android-ndk android-studio freerdp

5
推荐指数
0
解决办法
622
查看次数

使用 NAudio 将 PCM 48kHz/16 比特率的 wav 文件转换为 u-law 8kHz/8 比特率

我有一个 wav 文件,需要将其转换为我们的应用程序之一可以读取的格式。我要转换的文件格式为:

  • 编码:PCM
  • 采样率:48kHz
  • 比特率:16位
  • 频道:1

我想要转换成的可读文件格式是:

  • 编码:u-Law
  • 采样率:8kHz
  • 比特率:8 位
  • 频道:1

为了实现这一点,我使用NAudio库。我用于转换的代码大致如下:

using (WaveFileReader reader = new WaveFileReader(inputWavFilePath))
{
    WaveFormat newFormat = WaveFormat.CreateMuLawFormat(8000, 1);
    using (var conversionStream = new WaveFormatConversionStream(newFormat, reader))
    {
        WaveFileWriter.CreateWaveFile(outputWavFilePath, conversionStream);
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的转换会引发错误

AcmNotPossible 调用 acmStreamOpen

我已经看到了一些从 u-law 转换为 PCM 的链接,但在反向操作时遇到了麻烦。

我很难理解的是为什么当我转换时不会抛出PCM/48kHz/16bit -> uLaw/48kHz/8bit异常。但是,当我尝试将结果文件转换为抛出异常时。uLaw/8kHz/8bit

我是处理音频文件和不同格式的新手,所以如果我错过了一些简单的东西,我很抱歉。

有人可以解释一下为什么转换只在采样率转换时抛出异常,而不是在其他两个转换(编码PCM -> uLaw&& 16bit -> 8bit)时抛出异常吗?

c# naudio audio-converter

0
推荐指数
1
解决办法
6670
查看次数