我编写了一个可以转换普通文本的应用程序,例如:“你好,我的名字是 XY”
成点和笔画( ..-. ; --.- ; . ; - ; etc etc)
现在我想将这些点和笔画转换为闪光,点的长度为 0.3 秒,笔画的长度为 0.6 秒。在每个点或笔划之后还有一个点长度的停顿,每个单词之后有一个双停顿,每个句子之后有一个三重停顿/中断。
我的代码中也隐含了中断。
现在的问题是轻描边不够不同。
因为它背后的想法是通过 Arduino Duo 和 fototransistor 将 Light 闪烁转换回 Text。
这是光转换过程的代码段落:
- (IBAction)send:(id)sender{
// 将文本转换为莫尔斯电码等
float needTime;
NSString *string = plotter;
for (int d = 0;d < [string length]; d++) {
NSString *punktoderstrich = [string substringWithRange:NSMakeRange(d, 1)];
if ([punktoderstrich isEqualToString:@"."]) {
needTime = needTime + 0.4f;
[self performSelector:@selector(playpunkt) withObject:nil afterDelay:needTime];
}
if ([punktoderstrich isEqualToString:@"-"]) {
needTime = needTime + 1.0f;
[self performSelector:@selector(playstrich) withObject:nil afterDelay:needTime];
}
if ([punktoderstrich isEqualToString:@" "]) {
needTime = needTime + 0.4f;
[self performSelector:@selector(playpause) withObject:nil afterDelay:needTime];
}
if ([punktoderstrich isEqualToString:@"/"]) {
needTime = needTime + 0.3f;
[self performSelector:@selector(playpause) withObject:nil afterDelay:needTime];
}
}
- (void)torchAn {
[captureDevice lockForConfiguration:nil];
[captureDevice setTorchMode:AVCaptureTorchModeOn];
[captureDevice setFlashMode:AVCaptureFlashModeOn];
[captureDevice unlockForConfiguration];
}
- (void)torchAus {
[captureDevice lockForConfiguration:nil];
[captureDevice setTorchMode:AVCaptureTorchModeOff];
[captureDevice setFlashMode:AVCaptureFlashModeOff];
[captureDevice unlockForConfiguration];
}
-(void)playstrich{
// AudioServicesPlaySystemSound (outSystemSoundID2);
[self torchAn];
//[self performSelector:@selector(torchAus) withObject:nil afterDelay:0.8f];
}
-(void)playpunkt{
//AudioServicesPlaySystemSound (outSystemSoundID1);
[self torchAn];
//[self performSelector:@selector(torchAus) withObject:nil afterDelay:0.4f];
}
- (void)playpause{
// AudioServicesPlaySystemSound (outSystemSoundID3);
[self performSelector:@selector(torchAus) /*withObject:nil afterDelay:0.4f*/];
}
如您所见,我还导入了声音文件(短和长),但主要目标是发出正确的光信号。
我的问题:
短灯大多是可以的,除了 LED 首次闪烁时的第一个。长光信号实际上并不长。有时我在录制它们时会得到相同的结果。
并且在长灯应该点亮之后,以下短灯不会像正常情况那样短..嗯..
在我评论了声音出来的部分之后,整个过程变得更加稳定。我还将部件(关闭 LED)从它自己的标志移到了休息处。
我希望有人能给我一些小费左右:)
来自德国的问候!
PS:我的设备是iPhone 4s(带手电筒^^)