恢复master版本,提交不影响master代码,以新增对讲新分支

This commit is contained in:
Daisy 2023-12-11 10:16:56 +08:00
parent 73e8211165
commit 3103071653
5 changed files with 138 additions and 5 deletions

View File

@ -243,11 +243,75 @@
} }
} }
- (void)RefImg:(NSData *)data{ - (void)RefImg:(NSData *)data{
NSString *getStr = [self convertDataToHexStr:data];
NSLog(@"111得到的十六进制图像数据为:%@", getStr);
NSData *binaryData = [self dataFromHexString:getStr];
// NSData
const uint8_t *bytes = (const uint8_t *)[binaryData bytes];
NSUInteger length = [binaryData length];
NSMutableArray *binaryArray = [NSMutableArray array];
for (NSUInteger i = 0; i < length; i++) {
[binaryArray addObject:@(bytes[i])];
}
NSLog(@"222得到的二进制图像数据为:%@", binaryArray);
UIImage *image = [UIImage imageWithData: data]; UIImage *image = [UIImage imageWithData: data];
//self.playerImage = [[UIImageView alloc] initWithImage:image]; //self.playerImage = [[UIImageView alloc] initWithImage:image];
[self.playerImage setImage:image]; [self.playerImage setImage:image];
} }
//NSData使:
- (NSString *)convertDataToHexStr:(NSData *)data {
if (!data || [data length] == 0) {
return @"";
}
NSMutableString *string = [[NSMutableString alloc] initWithCapacity:[data length]];
[data enumerateByteRangesUsingBlock:^(const void *bytes, NSRange byteRange, BOOL *stop) {
unsigned char *dataBytes = (unsigned char*)bytes;
for (NSInteger i = 0; i < byteRange.length; i++) {
NSString *hexStr = [NSString stringWithFormat:@"%x", (dataBytes[i]) & 0xff];
if ([hexStr length] == 2) {
[string appendString:hexStr];
} else {
[string appendFormat:@"0%@", hexStr];
}
}
}];
return string;
}
//
- (NSData *)dataFromHexString:(NSString *)hexString {
//
NSString *cleanedString = [hexString stringByReplacingOccurrencesOfString:@" " withString:@""];
cleanedString = [cleanedString stringByReplacingOccurrencesOfString:@"\n" withString:@""];
//
if (cleanedString.length % 2 != 0) {
//
//
// cleanedString = [@"0" stringByAppendingString:cleanedString];
//
// cleanedString = [cleanedString substringToIndex:cleanedString.length - 1];
}
// 使
NSMutableData *data = [NSMutableData data];
for (NSInteger i = 0; i < cleanedString.length; i += 2) {
NSString *byteString = [cleanedString substringWithRange:NSMakeRange(i, 2)];
NSScanner *scanner = [NSScanner scannerWithString:byteString];
unsigned int byteValue;
[scanner scanHexInt:&byteValue];
uint8_t byte = (uint8_t)byteValue;
[data appendBytes:&byte length:1];
}
return data;
}
- (void)didReceiveMemoryWarning { - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning]; [super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated. // Dispose of any resources that can be recreated.

View File

@ -47,4 +47,6 @@
+ (NSString *)NSdata2String:(NSData *)data; + (NSString *)NSdata2String:(NSData *)data;
+ (NSData *)AES128_Encrypt:(NSString *)key encryptData:(NSData *)data; + (NSData *)AES128_Encrypt:(NSString *)key encryptData:(NSData *)data;
+ (NSData *)AES128_Decrypt:(NSString *)key encryptData:(NSData *)data; + (NSData *)AES128_Decrypt:(NSString *)key encryptData:(NSData *)data;
+ (NSString *)convertDataToHexStr:(NSData *)data;//将NSData转换成十六进制数据
+ (NSData *)dataFromHexString:(NSString *)hexString;//将十六进制字符串转换为二进制数据
@end @end

View File

@ -353,4 +353,54 @@
return nil; return nil;
} }
//NSData使:
+ (NSString *)convertDataToHexStr:(NSData *)data {
if (!data || [data length] == 0) {
return @"";
}
NSMutableString *string = [[NSMutableString alloc] initWithCapacity:[data length]];
[data enumerateByteRangesUsingBlock:^(const void *bytes, NSRange byteRange, BOOL *stop) {
unsigned char *dataBytes = (unsigned char*)bytes;
for (NSInteger i = 0; i < byteRange.length; i++) {
NSString *hexStr = [NSString stringWithFormat:@"%x", (dataBytes[i]) & 0xff];
if ([hexStr length] == 2) {
[string appendString:hexStr];
} else {
[string appendFormat:@"0%@", hexStr];
}
}
}];
return string;
}
//
+ (NSData *)dataFromHexString:(NSString *)hexString {
//
NSString *cleanedString = [hexString stringByReplacingOccurrencesOfString:@" " withString:@""];
cleanedString = [cleanedString stringByReplacingOccurrencesOfString:@"\n" withString:@""];
//
if (cleanedString.length % 2 != 0) {
//
//
// cleanedString = [@"0" stringByAppendingString:cleanedString];
//
// cleanedString = [cleanedString substringToIndex:cleanedString.length - 1];
}
// 使
NSMutableData *data = [NSMutableData data];
for (NSInteger i = 0; i < cleanedString.length; i += 2) {
NSString *byteString = [cleanedString substringWithRange:NSMakeRange(i, 2)];
NSScanner *scanner = [NSScanner scannerWithString:byteString];
unsigned int byteValue;
[scanner scanHexInt:&byteValue];
uint8_t byte = (uint8_t)byteValue;
[data appendBytes:&byte length:1];
}
return data;
}
@end @end

View File

@ -40,12 +40,13 @@ static bool isAudioStop;
// //
void buffer_callback(void *inUserData, AudioQueueRef q, AudioQueueBufferRef buf) { void buffer_callback(void *inUserData, AudioQueueRef q, AudioQueueBufferRef buf) {
//__bridge //__bridge
//NSLog(@"buffer_callback"); // NSLog(@"333buffer_callback");
playAudio* player = (__bridge playAudio*)inUserData; playAudio* player = (__bridge playAudio*)inUserData;
[player audioQueueOutputWithQueue:q queueBuffer:buf]; [player audioQueueOutputWithQueue:q queueBuffer:buf];
} }
- (short)G711Decode_u_law_2_linear:(Byte)b { - (short)G711Decode_u_law_2_linear:(Byte)b {
// NSLog(@"444G711Decode_u_law_2_linear");
//u 8126 //u 8126
short t; short t;
b = ~b; b = ~b;
@ -80,7 +81,7 @@ void buffer_callback(void *inUserData, AudioQueueRef q, AudioQueueBufferRef buf)
} }
- (void)audioQueueOutputWithQueue:(AudioQueueRef)q queueBuffer:(AudioQueueBufferRef)buf { - (void)audioQueueOutputWithQueue:(AudioQueueRef)q queueBuffer:(AudioQueueBufferRef)buf {
//NSLog(@"audioQueueOutputWithQueue: _AudiodecodeType = %d", _AudiodecodeType); // NSLog(@"222audioQueueOutputWithQueue: _AudiodecodeType = %d", _AudiodecodeType);
if (_AudiodecodeType == k711) { if (_AudiodecodeType == k711) {
buf->mAudioDataByteSize = BYTES_PER_SAMPLES; buf->mAudioDataByteSize = BYTES_PER_SAMPLES;
short *b = buf->mAudioData; short *b = buf->mAudioData;
@ -113,7 +114,7 @@ void buffer_callback(void *inUserData, AudioQueueRef q, AudioQueueBufferRef buf)
} }
- (void)AudioPlayStartWithMode:(int)mod { - (void)AudioPlayStartWithMode:(int)mod {
NSLog(@"AudioPlayStartWithMode mod = %d", mod); // NSLog(@"111AudioPlayStartWithMode mod = %d", mod);
app = (AppDelegate *)[[UIApplication sharedApplication]delegate]; app = (AppDelegate *)[[UIApplication sharedApplication]delegate];
int channels = 1;//default 1 int channels = 1;//default 1
Abuf_p = 0; Abuf_p = 0;

View File

@ -803,7 +803,7 @@ static char cnt;
} }
- (void)getImgData:(Byte *)bb len:(int)l { - (void)getImgData:(Byte *)bb len:(int)length123 {
//[player1 getImg:bb len:l]; //[player1 getImg:bb len:l];
} }
@ -822,6 +822,21 @@ static char cnt;
// memcpy(audio.Abuf+160*pp+1, bb+9+12, 159); //head 9byte | data 172byte() // memcpy(audio.Abuf+160*pp+1, bb+9+12, 159); //head 9byte | data 172byte()
// } // }
//NSLog(@"音频数据"); //NSLog(@"音频数据");
NSData *data1 = [[NSData alloc] initWithBytes:bb length:1000];
// NSLog(@"音频111得到的data1数据为:%@", data1);
NSString *getStr = [Pub convertDataToHexStr:data1];
NSLog(@"音频数据111得到的十六进制图像数据为:%@", getStr);
NSData *binaryData = [Pub dataFromHexString:getStr];
// NSData
const uint8_t *bytes = (const uint8_t *)[binaryData bytes];
NSUInteger length = [binaryData length];
NSMutableArray *binaryArray = [NSMutableArray array];
for (NSUInteger i = 0; i < length; i++) {
[binaryArray addObject:@(bytes[i])];
}
NSLog(@"音频数据222得到的二进制图像数据为:%@", binaryArray);
if(status!=8 && status!=5)return; if(status!=8 && status!=5)return;
if(audio){ if(audio){
//NSLog(@"getAVData %@",[Sformat Hex:[[NSData alloc] initWithBytes:bb length:len]]); //NSLog(@"getAVData %@",[Sformat Hex:[[NSData alloc] initWithBytes:bb length:len]]);
@ -839,6 +854,7 @@ static char cnt;
} }
else{// else{//
NSData *data1 = [[NSData alloc] initWithBytes:bb length:60+32];
BAGLEN = [Pub getShortFromByte:bb at:POS_blen + 2]; BAGLEN = [Pub getShortFromByte:bb at:POS_blen + 2];
iframe_index = [Pub getShortFromByte:bb at:POS_iframe_index]; iframe_index = [Pub getShortFromByte:bb at:POS_iframe_index];
alen = [Pub getShortFromByte:bb at:POS_alen]; alen = [Pub getShortFromByte:bb at:POS_alen];
@ -855,7 +871,7 @@ static char cnt;
} }
iframe.bag_receive ++; iframe.bag_receive ++;
memcpy(iframe.bb + BAGLEN*(bag_index-FIRSTINDEX), bb + POS_data, blen); memcpy(iframe.bb + BAGLEN*(bag_index-FIRSTINDEX), bb + POS_data, blen);
if(iframe.bag_num == iframe.bag_receive){ if(iframe.bag_num == iframe.bag_receive){
//NSLog(@"播放第%d帧",iframe.iframe_index); //NSLog(@"播放第%d帧",iframe.iframe_index);
if([Pub getApp].callOut){ if([Pub getApp].callOut){