小编coc*_*her的帖子

MKMapView缩放和区域

我熟悉使用Google Maps Javascript API.最近我开始使用MapKit框架进行iphone项目,但我很难找到缩放并在地图上设置区域.

在谷歌地图API中,我曾经使用整数缩放级别,如8,9,10,以及简单的函数setZoom().我在MapKit框架中看到的唯一等价方法是setRegion:animated.据我了解,我需要设置区域的跨度的纬度和经度"delta"值来指定缩放级别.但我真的不知道这些值代表什么(我阅读文档).

当我使用MKMapView委托并跟踪regionDidChange中的span值时,委托方法结果似乎彼此不相关.当我缩小并查看文档中指定的跨度增量值正在增加时,这没关系.但突然我拖动地图而没有缩放,delta值变为0.0.

有人可以解释一下这些跨度和三角洲的参考点是什么?或者是否有任何算法将整数缩放级别(如9)转换为这些delta值?

作为一个额外的问题是有任何方法来指定MKMapView上的最小 - 最大缩放级别:)

谢谢

iphone cocoa-touch zoom mapkit

85
推荐指数
2
解决办法
8万
查看次数

iOS 4闹钟应用程序,支持多任务处理

我正在制作一个具有多任务支持的闹钟应用程序.但是,我坚持使用sdk的一些限制.

每当警报时间到达用户设置的某些属性时,我需要播放选定的警报声.这些属性: - 警报声可以是来自用户iPod库的音乐,也可以是应用程序包中的一些声音文件. - 可以将闹钟声音设置为渐进式播放.

此外,警报声必须在循环中在后台播放,直到用户取消或唤醒应用程序.

我想到的第一个合乎逻辑的事情就是使用本地通知,但是通过本地通知,您可以播放仅在应用程序包(不是iPod音乐)中且最长30秒的声音文件.当用户取消通知警报时,您也不会收到通知,iOS只是停止播放您的声音.

现在我正在考虑使用背景音频播放选项并播放静音直到闹钟时间,然后播放闹钟声音,同时还显示没有声音的本地通知.但我又如何知道用户是否取消了本地通知提醒并停止播放音频.但是根据Apple的文档,播放背景音频的应用程序仍然不允许播放iPod音乐(以及使用共享资源).

我也无法理解其他一些应用程序是如何做这些功能的.例如,Night Stand HD可以在后台播放iPod音乐,名为"Progressive Alarm Clock"的应用程序可以在后台播放渐进式声音.

关于这些问题的任何想法和建议?非常感谢您的任何帮助

iphone objective-c multitasking ios4

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

保存和恢复CGContext

我正在尝试保存和恢复CGContext以避免第二次进行繁重的绘图计算而我收到了错误<Error>: CGGStackRestore: gstack underflow.

我究竟做错了什么?这样做的正确方法是什么?

- (void)drawRect:(CGRect)rect {
    CGContextRef context = UIGraphicsGetCurrentContext();

    if (initialized) {
        CGContextRestoreGState(context);
        //scale context
        return;
    }

    initialized = YES;

    //heavy drawing computation and drawing

    CGContextSaveGState(context);
}
Run Code Online (Sandbox Code Playgroud)

iphone core-graphics quartz-graphics cgcontext

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

音频处理:以音量级别播放

我想从应用程序包中读取声音文件,复制它,播放其最大音量级别(增益值或峰值功率,我不确定它的技术名称),然后将其作为另一个文件写入捆绑包再次.

我做了复制和写作部分.生成的文件与输入文件相同.我在AudioToolbox框架中使用AudioFile服务的AudioFileReadBytes()和AudioFileWriteBytes()函数来做到这一点.

所以,我有输入文件的字节以及它的音频数据格式(通过使用带有kAudioFilePropertyDataFormat的AudioFileGetProperty())但是我找不到这些中的变量来播放原始文件的最大音量级别.

为了澄清我的目的,我正在尝试生成另一个声音级别相对于原始级别增加或减少的声音文件,所以我不关心系统的音量级别,这是由用户或iOS设置的.

这可能与我提到的框架有关吗?如果没有,还有其他建议吗?

谢谢


编辑:通过Sam关于某些音频基础知识的答案,我决定用另一种方法扩展问题.

我可以使用AudioQueue服务将现有声音文件(在捆绑中)录制到另一个文件,并在录制阶段播放音量级别(借助框架)吗?


更新:这是我如何读取输入文件和写入输出.下面的代码降低了"一些"幅度值的声级,但噪声很大.有趣的是,如果我选择0.5作为幅度值,它会增加声级而不是降低它,但是当我使用0.1作为幅度值时,它会降低声音.两种情况都涉及令人不安的噪音.我认为这就是为什么Art正在谈论规范化,但我不知道规范化.

AudioFileID inFileID;

CFURLRef inURL = [self inSoundURL];

AudioFileOpenURL(inURL, kAudioFileReadPermission, kAudioFileWAVEType, &inFileID)

UInt32 fileSize = [self audioFileSize:inFileID];
Float32 *inData = malloc(fileSize * sizeof(Float32)); //I used Float32 type with jv42's suggestion
AudioFileReadBytes(inFileID, false, 0, &fileSize, inData);

Float32 *outData = malloc(fileSize * sizeof(Float32));

//Art's suggestion, if I've correctly understood him

float ampScale = 0.5f; //this will reduce the 'volume' by -6db
for (int i = 0; i < fileSize; i++) {
    outData[i] = (Float32)(inData[i] …
Run Code Online (Sandbox Code Playgroud)

iphone audio volume audioqueueservices audiotoolbox

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

适用于Objective-C的加密库

我正在寻找一个与Objective-C代码一起使用的加密库.有一个C++库对我的需求来说太大了.编译时它是20 MB.我认为C库非常适合与Objective-C一起使用.以下是我对此库的需求:AES(Rijndael)CFB模式SHA1 SHA256 HMAC-SHA1 HMAC-SHA256 PBKDF2

对你的帮助表示感谢.

cryptography objective-c

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

C#Convert.ToInt16(String)C等效

什么是C#的Convert.ToInt16(String)方法的C等价物?在我的情况下,我的字符串是一个char数组.谢谢

c c# unsigned signed

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