小编bri*_*dir的帖子

具有良好内存管理功能的Sound Engine(iPhone/iPad)

我正在寻找没有高级效果的简单声音引擎,但具有良好的缓冲存储器管理.至少它必须跟踪所有播放的声音,卸载未使用的声音缓冲区(但保持当前正在播放的所有声音缓冲区),调整声音组的增益.支持输入流和压缩格式将是有利的.

PS:FMOD和BASS是很好的引擎,但对于这些低要求来说太贵了.

iphone audio ipad

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

OpenGL ES:如何用颜色着色纹理

我有alpha纹理.我想用一些颜色着色它,因此它将根据颜色的alpha值进行着色,但是总体不透明度将仅由纹理alpha定义.

这类似于多纹理,但使用颜色而不是第二纹理.怎么做?

(更新)我试图设置纹理合并器.颜色很好,但是有alpha的问题 - 它不会从纹理(如蒙版)中获取值.我的代码在这一刻:

glActiveTexture (GL_TEXTURE0); // do we need stage #1?
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_INTERPOLATE);
glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, (GLfloat*) &tintColor_);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC1_RGB, GL_CONSTANT);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC2_RGB, GL_CONSTANT);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_RGB, GL_ONE_MINUS_SRC_ALPHA);
// this doesn't work for alpha:
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_REPLACE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_ALPHA, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA, GL_SRC_ALPHA);
Run Code Online (Sandbox Code Playgroud)

截图:

没有着色:

在此输入图像描述

RGBA =(0,0.5,1,0.5)的色调:

在此输入图像描述

textures opengl-es mask tint colors

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

iOS CoreBluetooth:同时与app和widget中的同一目标外设有效连接?

我想在我的应用程序和它的小部件中以中央模式与我的外围设备保持持久的BLE连接.那么技术上可能吗?

原因如下:当在应用程序中建立连接时,我们将其发送到后台,然后打开今天 - 小部件 - 小部件应继续使用连接的外围设备进行操作.反之亦然:如果我们隐藏今天的小部件,启动应用程序 - 该应用程序应继续使用现有连接.

simultaneous ios core-bluetooth bluetooth-lowenergy

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

带有NS_REQUIRES_NIL_TERMINATION的多个参数列表

我有一个函数 - (id)func:params1,... NS_REQUIRES_NIL_TERMINATION和2:params2,... NS_REQUIRES_NIL_TERMINATION;

编译器说:错误:预期`;' 在'and2'之前有没有办法用2个参数列表来创建函数?

xcode arguments list objective-c variadic-functions

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

模板化函数指针

我有一种方法来调用类的延迟函数:

//in MyClass declaration:
typedef void (MyClass::*IntFunc) (int value);
void DelayedFunction (IntFunc func, int value, float time);
class TFunctorInt
{
public:
    TFunctorInt (MyClass* o, IntFunc f, int v) : obj (o), func (f), value (v) {}
    virtual void operator()();
protected:
    MyClass* obj;
    IntFunc func;
    int value;
};
//in MyClass.cpp file:
void MyClass::DelayedFunction (IntFunc func, int value, float time)
{
    TFunctorBase* functor = new TFunctorInt (this, func, value);
    DelayedFunctions.push_back (TDelayedFunction (functor, time)); // will be called in future
}
void MyClass::TFunctorInt::operator()() …
Run Code Online (Sandbox Code Playgroud)

c++ templates pointers function

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

在STL容器中查找迭代器的索引 - 需要模板函数

我希望有一个像这样的接口函数:

template<typename T, typename R> int find_index (const T& list, const R& value);
Run Code Online (Sandbox Code Playgroud)

据我所知,find()STL中有返回迭代器的东西.我需要返回迭代器的索引(即使对于非索引的容器,例如std::list).我试过这段代码:

template<typename T, typename R>
int find_index (const T& list, const R& value)
{
    int index = 0;
    for (T::const_iterator it = list.begin(); it != list.end(); it++, index++)
        if ((*it) == value)
            return index;
    return -1;
}
Run Code Online (Sandbox Code Playgroud)

但编译器显示错误it- 似乎不允许const_iterator从模板化的typename 获取.我可以到处走走吗?

在最坏的情况下,我可以将开始和结束迭代器传递给find_index参数,但它看起来不太好.会感谢优雅的解决方案.

c++ templates stl list find

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

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

比较两个std :: list列表并获取不同的对象

是否有准备好的功能来获得两个std::list列表的区别?

例如,我有list1: obj1, obj2, obj3, obj4list2: obj2, obj3, obj4, obj5.

该函数的结果应该是list1_unique: obj1,list1_and_list2: obj2, obj3, obj4,list2_unique: obj5.

(编写自己的实现并不难,但我更喜欢标准功能)

c++ compare stdlist

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

从单独的笔尖(非模态)显示NSWindow

怎么做?我只是想加载一个窗口并将其显示在主窗口的前面.

NSWindowController* controller = [[NSWindowController alloc] initWithWindowNibName: @"MyWindow"];
NSWindow* myWindow = [controller window];
[myWindow makeKeyAndOrderFront: nil];
Run Code Online (Sandbox Code Playgroud)

此代码显示窗口一会儿然后隐藏它.恕我直言这是因为我不保持对窗口的引用(我使用ARC).[NSApp runModalForWindow: myWindow];效果很好,但我不需要以模态显示它.

cocoa objective-c nib nswindow nsapplication

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

按地址获取符号(表示二进制,iOS构建)

我有分配仪器的快照和有趣符号的地址:

这是截图

我想知道,这个地址在代码中.我有相应的dSYM文件.我试图使用atosym命令行工具,但它给了我错误的符号(与我的应用程序无关).

怎么弄?

PS:二进制文件是由XCode 4.3.2构建的,代码语言是C++,armv7架构,发布构建配置.

xcode symbolicate armv7 ios object-address

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

通过iOS中的Xcode UI XCTests测试标签栏徽章

如何检查tabbar badge(tabBarItem.badgeValue)包含正确的数字XCTests

在此输入图像描述

我可以在辅助功能检查器中看到目标选项卡按钮,但不能检查徽章元素.

unit-testing uitabbaritem badge ios xctest

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

如何在一行代码中编写`performSelectorInBackground:afterDelay:`?

有一些方法performSelectorInBackground:performSelector: afterDelay:NSObject.如何在一行代码中组合它们?也许不知怎的NSTimer

multithreading objective-c delay selector

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