wpf下的Email 邮箱发送
测试demo,可以用wpf 的方式通过邮箱进行发送消息通知,亲测可用
字符串实际宽高的获取
测试demo,可以通过wpf或者winform 的方式取得字符串的宽高值
WPF中软键盘调用
1 wpf 中显示、隐藏虚拟键盘的实现;
2 基本功能已实现,具体还要根据实际完善;
3 主要为了测试使用
WPF ViewPort3D 展示且平移操作
WPF中模型的3D 显示,可以进行模型转换控制,主要用于学习研究,
公式解析结算
将字符的数学公式解析成可计算的公式,暂不支持汉字,但是欢迎大家扩展该功能然后上传
mysql 在vs2010的windows窗体下的增删改查
mysql 在vs2010的windows窗体下的增删改查,自写已经测试运行通过
winform下xml的基本操作
xml在winform下的操作,自己写测试正常,共享
Visual Assist X V10.7.1929.0 官方原版+破解补丁
【使用说明及注意事项】
1、使用本软件前请删除其他的破解版本,或直接安装官方版本,否则Visual Assist X将无法使用!
2、破解后无法恢复,如要恢复请卸载后重新安装!
1、Visual Assist X 10.6.1859.0 启发式破解引擎,理论上可以破解所有版本的Visual Assist X。
2、1856版本的发布修正了12个Bug,针对一些比较细微的小问题进行了修正,如果各位上一个版本用得没有什么问题,这个版本不更新也罢,如果是需要新安装的朋友,当然是选择这个最新的版本了
winsocket 动态链接库
winsocket 动态链接库
#include <winsock2 h> 2 0版本
#pragma comment lib "ws2 32 lib"
简单TOM猫学说话
简单实现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;
}
}
}
}
}
}