// self.recordData = [[NSMutableData alloc] init];
__weak typeof(self) ws = self;
[input installTapOnBus:bus bufferSize:32 format:inputFormat block:^(AVAudioPCMBuffer * _Nonnull buffer, AVAudioTime * _Nonnull when) {
+
+// NSData *data = [ws pcm_downsample:buffer];
+// if (ws.didRecordData) {
+// ws.didRecordData(data);
+// }
NSData *data = [ws pcm_downsample:buffer];
- if (ws.didRecordData) {
- ws.didRecordData(data);
+ NSInteger index = 0;
+ NSInteger len = 800;
+ while (index < data.length) {
+ if (index + 800 > data.length) {
+ len = data.length - index;
+ }
+ else{
+ len = 800;
+ }
+ NSData *subData = [data subdataWithRange:NSMakeRange(index, len)];
+ if (ws.didRecordData) {
+ ws.didRecordData(subData);
+ }
+ index += len;
}
-// NSLog(@"%@",data);
-// NSError *err0;
- // [ws.outputFile writeFromBuffer:buffer error:&err0];
- // if (err0) {
- // [self showLog:[NSString stringWithFormat:@"写入失败 %@", err0.description]];
- // }
- // else{
- // [self showLog:@"写入成功"];
- // }
}];
NSError *err1;
}
//北科专属
-//- (void)sendDeviceDataToSdk:(NSData *)data{
-//
-// NSString *text = [TlwTools dataToHexString:data];
-//
-//// 鼠标 0x020001f0ff0000
-//// sn1 0xb52c00bba30d5540
-//// sn2 0xb52c01bba30d5540
-//// 62DF3D553297
-//
-// if ([text hasPrefix:@"B52C00"]) {
-// [self showLog:[NSString stringWithFormat:@"[receive][usb][info] %@",text]];
-// [self showLog:[NSString stringWithFormat:@"[receive][usb][info] %@",text]];
-// if (self.getSn1CallBack) {
-// //北科加42专属
-// self.getSn1CallBack([NSString stringWithFormat:@"42%@",[text substringWithRange:NSMakeRange(6, 8)]], nil);
-// }
-// }
-// else if ([text hasPrefix:@"B52C01"]) {
-// [self showLog:[NSString stringWithFormat:@"[receive][usb][info] %@",text]];
-// [self showLog:[NSString stringWithFormat:@"[receive][usb][info] %@",text]];
-// if (self.getSn2CallBack) {
-// //北科加42专属
-// self.getSn2CallBack([text substringWithRange:NSMakeRange(6, 2)], nil);
-// }
-// }
-// else if([text hasPrefix:@"B5200443"]){
-// [self showLog:[NSString stringWithFormat:@"[receive][usb][info] %@",text]];
-// uint8_t cmd = 0x42;
-// NSMutableData *mData = [NSMutableData data];
-// [mData appendBytes:&cmd length:1];
-// [self.delegate nMouseSendCmdData:mData];
-// }
-// else if([text hasPrefix:@"B5200057"]){
-// [self showLog:[NSString stringWithFormat:@"[receive][usb][info] %@",text]];
-// uint8_t cmd = 0x42;
-// NSMutableData *mData = [NSMutableData data];
-// [mData appendBytes:&cmd length:1];
-// [self.delegate nMouseSendCmdData:mData];
-// }
-//}
-
-//千寻
- (void)sendDeviceDataToSdk:(NSData *)data{
+
NSString *text = [TlwTools dataToHexString:data];
// 鼠标 0x020001f0ff0000
// sn1 0xb52c00bba30d5540
// sn2 0xb52c01bba30d5540
// 62DF3D553297
- [self showLog:[NSString stringWithFormat:@"[receive][usb][info] %@",text]];
+
if ([text hasPrefix:@"B52C00"]) {
+ [self showLog:[NSString stringWithFormat:@"[receive][usb][info] %@",text]];
[self showLog:[NSString stringWithFormat:@"[receive][usb][info] %@",text]];
if (self.getSn1CallBack) {
- self.getSn1CallBack([text substringWithRange:NSMakeRange(6, 8)], nil);
+ //北科加42专属
+ self.getSn1CallBack([NSString stringWithFormat:@"42%@",[text substringWithRange:NSMakeRange(6, 8)]], nil);
}
}
else if ([text hasPrefix:@"B52C01"]) {
+ [self showLog:[NSString stringWithFormat:@"[receive][usb][info] %@",text]];
[self showLog:[NSString stringWithFormat:@"[receive][usb][info] %@",text]];
if (self.getSn2CallBack) {
- self.getSn2CallBack([text substringWithRange:NSMakeRange(6, 4)], nil);
+ //北科加42专属
+ self.getSn2CallBack([text substringWithRange:NSMakeRange(6, 2)], nil);
}
}
else if([text hasPrefix:@"B5200443"]){
+ [self showLog:[NSString stringWithFormat:@"[receive][usb][info] %@",text]];
uint8_t cmd = 0x42;
NSMutableData *mData = [NSMutableData data];
[mData appendBytes:&cmd length:1];
[self.delegate nMouseSendCmdData:mData];
}
}
+
+//千寻
+//- (void)sendDeviceDataToSdk:(NSData *)data{
+// NSString *text = [TlwTools dataToHexString:data];
+//
+//// 鼠标 0x020001f0ff0000
+//// sn1 0xb52c00bba30d5540
+//// sn2 0xb52c01bba30d5540
+//// 62DF3D553297
+// [self showLog:[NSString stringWithFormat:@"[receive][usb][info] %@",text]];
+// if ([text hasPrefix:@"B52C00"]) {
+// [self showLog:[NSString stringWithFormat:@"[receive][usb][info] %@",text]];
+// if (self.getSn1CallBack) {
+// self.getSn1CallBack([text substringWithRange:NSMakeRange(6, 8)], nil);
+// }
+// }
+// else if ([text hasPrefix:@"B52C01"]) {
+// [self showLog:[NSString stringWithFormat:@"[receive][usb][info] %@",text]];
+// if (self.getSn2CallBack) {
+// self.getSn2CallBack([text substringWithRange:NSMakeRange(6, 4)], nil);
+// }
+// }
+// else if([text hasPrefix:@"B5200443"]){
+// uint8_t cmd = 0x42;
+// NSMutableData *mData = [NSMutableData data];
+// [mData appendBytes:&cmd length:1];
+// [self.delegate nMouseSendCmdData:mData];
+// }
+// else if([text hasPrefix:@"B5200057"]){
+// [self showLog:[NSString stringWithFormat:@"[receive][usb][info] %@",text]];
+// uint8_t cmd = 0x42;
+// NSMutableData *mData = [NSMutableData data];
+// [mData appendBytes:&cmd length:1];
+// [self.delegate nMouseSendCmdData:mData];
+// }
+//}
- (void)getDeviceInfo:(void (^)(AiMouseDeviceInfo *deviceInfo,NSError *error))finished{
[NSObject cancelPreviousPerformRequestsWithTarget:self];
self.getDeviceInfoCallBack = finished;