小编use*_*325的帖子

WebRTC AGC(自动增益控制)

我正在测试WebRTC AGC,但我必须做错了,因为信号只是通过未经修改的.

以下是我创建和初始化AGC的方法:

agcConfig.compressionGaindB = 9;
agcConfig.limiterEnable = 1;
agcConfig.targetLevelDbfs = 9;   /* 9dB below full scale */

WebRtcAgc_Create(&agc);
WebRtcAgc_Init(agc, minLevel, maxLevel, kAgcModeFixedDigital, 8000);
WebRtcAgc_set_config(agc, agcConfig);
Run Code Online (Sandbox Code Playgroud)

然后对于每个10ms样本块,我执行以下操作:

WebRtcAgc_Process(agc, micData, NULL, 80, micData, NULL, micLevelIn, &micLevelOut, 0, &saturationWarning);
Run Code Online (Sandbox Code Playgroud)

其中micLevelIn设置为0.

谁能告诉我我做错了什么?

我预计全量级正弦音将衰减到目标DBFS级别; 并且将放大低电平正弦音(即-30dBFS)以匹配目标DBFS电平.但那不是我所看到的.

c++ signal-processing webrtc

64
推荐指数
1
解决办法
4730
查看次数

如何修复com.android.builder.internal.aapt.AaptException:无法处理文件?

我有最新版本的Android Studio(截至2016年9月21日).当我在Android Studio中创建一个全新的项目并尝试构建它时,我收到此构建错误:

错误:com.android.builder.internal.aapt.AaptException:无法处理文件H:.. pathTo ..\app\build\intermediates\explosion-aar\com.android.support\appcompat-v7\24.2.1 \水库\绘制-xhdpi-V4\abc_list_selector_disabled_holo_light.9.png

H:.. pathTo .. \程序\建立\中间体\水库\合并\调试\绘制-xhdpi-V4\abc_list_selector_disabled_holo_light.9.png

这是什么意思?我该如何解决?

构建日志:https: //jpst.it/NCnu

android android-studio

30
推荐指数
2
解决办法
3万
查看次数

是否可以在Android上访问扬声器信号?

将音频发送到扬声器以便在Android上播放很容易,但是是否可以获得实际最终数字信号的副本?假设我有两个运行"MyApp"和"SomeOtherApp"的应用程序.我的应用程序向扬声器发送音频,但"SomeOtherApp"也是如此."SomeOtherApp"不是我的应用程序 - 它是第三方应用程序.是否有可能获得操作系统播放到扬声器的混合音频信号的副本?也就是说,音频信号是来自我的app的扬声器信号和来自"SomeOtherApp"的扬声器信号的混合.

总结一下:我正在寻找一种方法来连接低级音频路径(HAL音频流输出 - 混音后!)所以我可以获得"最终"扬声器信号的副本(实时).最理想的情况是,我还想加入低级麦克风路径,但现在这不是一个问题.

audio android android-ndk opensl audioflinger

13
推荐指数
1
解决办法
955
查看次数

升级到Xcode 5.0.2:xib警告.属性不可用

我最近升级到xcode 5.0.2

现在,我在构建Cocoa应用程序时收到此警告:

属性不可用在10.8之前的Mac OS X版本上使用最大布局宽度的当前宽度

我试图找到"最大布局宽度",但我无法做到.

我如何摆脱这个警告?

macos xcode cocoa objective-c xib

10
推荐指数
3
解决办法
3030
查看次数

从菜单中删除"开始听写"和"特殊字符"

为了在我的Cocoa应用程序中启用复制和粘贴,我在菜单中添加了两个新菜单项(复制和粘贴),并将选择器从每个项目拖动到第一个响应者(复制和粘贴).但是,复制和粘贴菜单项下方会显示两个额外的项目:"开始听写"和"特殊字符".

我无法弄清楚它们出现的原因或我如何删除它们.

最理想的是,我甚至不希望复制和粘贴菜单项可见.我只是希望我的应用程序的用户能够将内容(即从电子邮件,文本文档等)粘贴到我的应用程序中的一个表单上的文本字段中.

macos xcode cocoa objective-c nsmenuitem

8
推荐指数
3
解决办法
2775
查看次数

无序修改和访问指针

我收到了这个C表达式的警告:

*p0++ = mult(*p0, psign[i1]); 
Run Code Online (Sandbox Code Playgroud)

警告是:

unsequenced modification and access to 'p0' [-Wunsequenced]
Run Code Online (Sandbox Code Playgroud)

我认为表达式应该修改为:

*p0 = mult(*p0, psign[i1]);
p0++;
Run Code Online (Sandbox Code Playgroud)

行为(修改后)是否符合预期?我认为指针增量应该在p0指向的值更新后发生.

c prefix-operator

8
推荐指数
1
解决办法
4904
查看次数

如何拦截Parrot B350-XT蓝牙耳机的蓝牙按钮事件?

我的蓝牙耳机(Parrot B350-XT)有4个按钮:

  1. 提高音量
  2. 音量减小
  3. 电源按钮
  4. "鹦鹉"按钮

我正在创建一个在三星的SM-T230NU上运行的Android应用程序(OS 4.4.2).

我希望我的应用程序能够在按下上述4个按钮中的任何一个时接收通知,包括按下按钮的类型(长按,短按).我的申请将在上下文中解释这些事件.我正在开发的应用程序是一个软电话,我想在按钮事件和软电话操作之间进行以下连接.这只是一个例子:

  1. 用户按下vol.行动:数量减少
  2. 用户按下vol.行动:增加数量
  3. 用户在没有呼叫激活的情况下按下'parrot'按钮.应用程序被带到了前台
  4. 如果发生入站呼叫并且用户按下"parrot"按钮,则应答呼叫
  5. 如果入站呼叫处于活动状态且用户按下"parrot"按钮,则挂断呼叫

到目前为止,我已经查看了Android SDK,stackoverflow帖子和各种实现,但我还没弄清楚它应该如何完成.

android android-intent android-bluetooth

6
推荐指数
1
解决办法
345
查看次数

链接Android上的更新库

我为Android开发了一个应用程序和一个本机库.本机库使用openSL ES进行音频处理.

在我的Android.mk文件中,我有以下声明:

LOCAL_LDLIBS := -lOpenSLES
Run Code Online (Sandbox Code Playgroud)

所以我猜这意味着应用程序将在设备上加载/执行应用程序时从设备的system/lib文件夹中动态链接openSLES库?

我面临的问题是设备上的库是错误的,我有3个更新的库,其中包含错误修复.如果可能,如何确保我的本机库使用我拥有的3个库:

Libwilhelm.so
libOpenMAXAL.so
libOpenSLES.so
Run Code Online (Sandbox Code Playgroud)

我只是更换

LOCAL_LDLIBS := -lOpenSLES
Run Code Online (Sandbox Code Playgroud)

LOCAL_SHARED_LIBRARIES := -lOpenSLES -lOpenMAXAL -lwilhelm
Run Code Online (Sandbox Code Playgroud)

android android-ndk opensl

6
推荐指数
1
解决办法
499
查看次数

不能将-2147483648分配给long long类型的变量

我正在编译下面的代码,由于某种原因,我无法将-2147483648分配给8字节长且已签名的变量.

long long x = -2147483648;
Run Code Online (Sandbox Code Playgroud)

当我跨过这一行时,x的值是2147483648,MS Visual Studio中的'Watch'窗口显示x的类型是__int64.sizeof(x)也返回8.

根据limit.h,签署的long long的限制是:

#define LLONG_MAX     9223372036854775807i64       /* maximum signed long long int value */
#define LLONG_MIN   (-9223372036854775807i64 - 1)  /* minimum signed long long int value */
Run Code Online (Sandbox Code Playgroud)

和:

/* minimum signed 64 bit value */
#define _I64_MIN    (-9223372036854775807i64 - 1)
/* maximum signed 64 bit value */
#define _I64_MAX      9223372036854775807i64
Run Code Online (Sandbox Code Playgroud)

我只是不明白!

有人可以对此有所了解吗?

c

5
推荐指数
1
解决办法
886
查看次数

在OSX上自动更新应用程序的常见更新程序?

我正在使用Xcode for OSX中的Objective-C Cocoa应用程序,该应用程序将在App Store外部发布.

应用程序中的一个菜单项是"检查更新".用户可以单击此项并检查是否有可用的更新.

如果有可用更新,则将下载更新.

我的问题是:更新应用程序的常用方法是什么?由于应用程序已打开,因此无法覆盖自身.那通常如何做呢?

您是否将应用分为发射器和应用本身?如果是这样,我想,当用户启动应用程序时,它实际上是启动的启动器.然后,启动程序检查是否已下载更新,并使用新的应用程序二进制文件替换旧的应用程序二进制文件.这是在OSX上完成的,还是有更聪明的方法?

macos installer xcode cocoa objective-c

4
推荐指数
1
解决办法
1507
查看次数

什么是SLDataLocator_AndroidSimpleBufferQueue(Android 4.3)?

"2"代表以下内容:

SLDataLocator_AndroidSimpleBufferQueue loc_bq   =
{SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, 2};
Run Code Online (Sandbox Code Playgroud)

从我读过的,它是缓冲区的数量.

为什么2?为什么不只是1?如果2更好,为什么不是10然后才能让它变得更好?

谢谢

c audio android android-ndk opensl

4
推荐指数
1
解决办法
1852
查看次数

Windows:如何构建X264.lib而不是.dll

我下载了X264源代码并安装了mingw.

步骤1:

在MINGW bash中执行此操作:

./configure --disable-cli --enable-shared --enable-win32thread - -extra-ldflags = -Wl, - output-def = libx264.def

然后'制作'

第2步:

将libx264-142.dll重命名为libx264.dll并打开VS2012命令提示符并执行以下操作:

LIB /DEF:libx264.def

它给了我libx264.lib和对象libx264.exp

第3步:

将lib文件包含在使用X264 API的VS2012项目中.

问题:

当我启动项目时,我收到以下错误消息:

"程序无法启动,因为您的计算机缺少libx264.dll"

题:

当我链接静态库时,为什么要查找dll?

我该如何解决这个问题?我想构建一个静态X264库,我可以将其链接到我的项目中.

编辑:

我只需将dll放在与项目可执行文件相同的目录中.

但是 - 我的问题仍然存在:如何构建静态 x264库?所以我不需要dll?

c video encoding h.264 x264

2
推荐指数
1
解决办法
6238
查看次数

检测 TFTP 数据的传入端口?

我正在努力实现一个 TFTP 客户端(UDP 套接字)。

目前,我必须关闭 Windows 8 机器上的整个防火墙,否则数据无法到达 TFTP 客户端。传出连接请求发生在端口 69 上,但来自 TFTP 服务器的第一个数据包在不同的随机端口上传回。所以我的问题是:如何确保 TFTP 客户端(作为应用程序)能够在防火墙打开的机器上接收数据包?

当我在 Visual Studio 2005 中以调试模式运行 TFTP 客户端时,除非我关闭防火墙,否则客户端也不会收到数据包。我该如何解决?

谢谢

更新(代码)

void main(void)
{
    unsigned short OPCODE = htons((unsigned short)1);
    char* fileName = "thisfile.cnf.xml";
    WORD wVersionRequested;
    WSADATA wsaData;
    int err;
    SOCKET sockfd;
    int n;
    char buf[256] = {0};
    int L;
    struct sockaddr_in servaddr;
    char recvline[1000];
    int rc;

    wVersionRequested = MAKEWORD( 2, 2 );
    err = WSAStartup( wVersionRequested, &wsaData );
    memcpy(buf, &OPCODE, 2);
    sprintf_s(&buf[2], 254, "%s%c%s%c", fileName, …
Run Code Online (Sandbox Code Playgroud)

c sockets udp tftp

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