wpf下的Email 邮箱发送
测试demo,可以用wpf 的方式通过邮箱进行发送消息通知,亲测可用
【使用说明及注意事项】 1、使用本软件前请删除其他的破解版本,或直接安装官方版本,否则Visual Assist X将无法使用! 2、破解后无法恢复,如要恢复请卸载后重新安装! 1、Visual Assist X 10.6.1859.0 启发式破解引擎,理论上可以破解所有版本的Visual Assist X。 2、1856版本的发布修正了12个Bug,针对一些比较细微的小问题进行了修正,如果各位上一个版本用得没有什么问题,这个版本不更新也罢,如果是需要新安装的朋友,当然是选择这个最新的版本了
winsocket 动态链接库 #include <winsock2 h> 2 0版本 #pragma comment lib "ws2 32 lib"
简单实现TOM猫学说话 - (void)record { if ([self canRecord]) { NSError *error; NSMutableDictionary *_recordSetting = [[NSMutableDictionary alloc] init]; [_recordSetting setValue:[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey]; [_recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey]; [_recordSetting setValue:[NSNumber numberWithInt:1] forKey:AVNumberOfChannelsKey]; [_recordSetting setValue:[NSNumber numberWithInt:AVAudioQualityMax] forKey:AVEncoderAudioQualityKey]; //_recorderTmpFile = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:[NSString stringWithString:@"recording.caf"]]]; //[_recorderTmpFile retain]; if (_recorder == NULL) { _recorder = [[AVAudioRecorder alloc] initWithURL:[NSURL fileURLWithPath:audioPath] settings:_recordSetting error:&error]; }else { [_recorder release]; _recorder = [[AVAudioRecorder alloc] initWithURL:[NSURL fileURLWithPath:audioPath] settings:_recordSetting error:&error]; } [_recorder setMeteringEnabled:YES]; [_recorder setDelegate:self]; [_recorder prepareToRecord]; // [_recorder record]; // NSLog(@"录制中~~~~~~~~~~~~~!!!!"); [_recordSetting release]; }else { NSLog(@"不能录制!!!!"); } } - (void)updateMeters:(NSTimer *)sender { //NSLog(@"~~~~~~~~~~~~~~~~~监听中!!!~~~~~"); //NSLog(@"AVG = %f;peak = %f", [[SCListener sharedListener] averagePower], [[SCListener sharedListener] peakPower]); if ([[SCListener sharedListener] averagePower] > 0.1) { if (!ISRECORDED) { if (!isRecording) { NSLog(@"1开始录制"); isRecording = YES; ISRECORDED = YES; //记录是否录音过声音 _playTimes = 0; //[self record]; [_recorder prepareToRecord]; [_recorder record]; } }else { if (!isPlaying) { if (!isRecording) { NSLog(@"2开始录制"); isRecording = YES; _playTimes = 0; [_recorder prepareToRecord]; [_recorder record]; //[self record]; } } } } if ([[SCListener sharedListener] averagePower] < 0.1) { _lowTimes++; if (_lowTimes >= 5) { //5 次 0.5s======= _lowTimes = 0; isRecording = NO; if (!isRecording & !isPlaying) { if (ISRECORDED) { if (_playTimes < 1) { _playTimes++; NSLog(@"停止录制内容"); [self stopRecord]; isPlaying = YES; } } } } } }