IOS 集成讯飞语音唤醒+语音识别,实现语音控制效果

前言
最近项目上需要实现语音调度,一开始是想用苹果原生speech Framework框架的,但是网上找了很久都没有原生实现语音唤醒功能的栗子,到时有不少百度,讯飞的语音唤醒,语音识别的栗子,不过都是单独实现的代码,没有将这两个功能整合到一块,就有下面这篇博客语音唤醒+语音识别,实现语音控制效果。

一、项目环境配置

注册讯飞开放平台,创建应用得到APPID,下载SDK,配置项目

讯飞开放平台 https://www.xfyun.cn/

打开👆链接,选择注册,进行注册账号

在这里插入图片描述

注册完成,进入控制台,创建应用得到appid

在这里插入图片描述

进入应用,选择语音唤醒,设置唤醒词,可以设置多个,以逗号分隔

在这里插入图片描述

设置完,直接前往SDK下载中心

在这里插入图片描述

下载 语音唤醒,离线命令词识别IOS SDK

在这里插入图片描述

将离线命令词识别Demo中的lib文件copy到自己项目路径下

打开项目,加入

库名称 添加范围 功能
iflyMSC.framework 必要 讯飞开放平台静态库。
libz.tbd 必要 用于压缩、加密算法。
AVFoundation.framework 必要 用于系统录音和播放 。
SystemConfiguration.framework 系统库 用于系统设置。
Foundation.framework 必要 基本库。
CoreTelephony.framework 必要 用于电话相关操作。
AudioToolbox.framework 必要 用于系统录音和播放。
UIKit.framework 必要 用于界面显示。
CoreLocation.framework 必要 用于定位。
Contacts.framework 必要 用于联系人。
AddressBook.framework 必要 用于联系人。
QuartzCore.framework 必要 用于界面显示。
CoreGraphics.framework 必要 用于界面显示。
libc++.tbd 必要 用于支持C++。
在这里插入图片描述

info.plist文件中配置Privacy - Microphone Usage Description

在这里插入图片描述

需要确保以上框架导入,不然就会出现👇这些问题

在这里插入图片描述

在配置一下Enable Bitcode选项为NO,

在这里插入图片描述
不配置出现以下错误在这里插入图片描述

版本过低,编译就会出现👇问题,选一下IOS 10.0即可

版本过低错误
解决在这里插入图片描述

以上基本配置完成了,有点啰嗦。

二、整合语音唤醒+语音识别,实现语音控制

SpeechControlManagers.h

//
//  SpeechControlManagers.h
//  SpeechControlDemo
//
//  Created by FF on 2020/11/10.
//  Copyright © 2020 www.ff.com. All rights reserved.
//#import <Foundation/Foundation.h>
#import "IFlyMSC/IFlyMSC.h"NS_ASSUME_NONNULL_BEGIN@interface SpeechControlManagers : NSObject<IFlyVoiceWakeuperDelegate,IFlySpeechRecognizerDelegate>
/**语音识别类*/
@property (nonatomic, strong) IFlySpeechRecognizer * iflySpeechRecognizer;
/**语音唤醒类*/
@property (nonatomic,strong)  IFlyVoiceWakeuper    * iflyVoiceWakeuper;
/**当前会议的结果*/
@property (nonatomic, strong) NSMutableString      * curResult;
/**取消*/
@property (nonatomic)         BOOL                  isCanceled;
/**线程循环状态*/
@property (nonatomic)         BOOL                  m_isCanRun;
/**语音唤醒状态 YES已经开启识别,NO未开启识别*/
@property (nonatomic)         BOOL                  isVoiceWakeuperState;
/**语音识别状态 YES已经开启识别,NO未开启识别*/
@property (nonatomic)         BOOL                  isSpeechRecognizerState;
/*用于播放提供的音频文件*/
@property (nonatomic,assign) SystemSoundID soundId;/**识别引擎类型*/
@property (nonatomic, strong)         NSString             * engineType;
/**语法类型*/
@property (nonatomic, strong)         NSString             * grammarType;
/**云端识别唯一ID,需上传语法才会返回*/
@property (nonatomic, strong)         NSString             * cloudGrammerid;
/**本地识别唯一ID,需上传语法才会返回*/
@property (nonatomic, strong)         NSString             * localgrammerId;
/**grm路径*/
@property (nonatomic, strong)         NSString             * grammBuildPath;
/**common.jet文件路径*/
@property (nonatomic, strong)         NSString             * aitalkResourcePath;
/**本地语法文件路径*/
@property (nonatomic, strong)         NSString             * bnfFilePath;
/**云端语法文件路径*/
@property (nonatomic, strong)         NSString             * abnfFilePath;
/**唤醒词文件路径*/
@property (nonatomic, strong)         NSString             * wakupEnginPath;@property (nonatomic, strong) NSArray              * engineTypesArray;
/**唤醒词*/
@property (nonatomic,strong)  NSDictionary         * wakeupWordsDictionary;/**单例*/
+(instancetype) shareInstance;
/**初始化讯飞语音接口*/
- (void) initIFly;
/**初始化语音控制相关对象*/
- (void) initVoiceControlObject;
/**初始化音频播放器*/
- (void) initAudioPlayer;
/**构建语法并上传*/
- (void) buildGrammar;
/**配置语音唤醒参数*/
- (void) configureVoiceWakeuperParam;
/**开始语音控制*/
- (void) startVoiceControl;
/**停止语音控制*/
- (void) stopVoiceControl;
/**开始播放语音*/
-(void) startAudioPlayer;
@endNS_ASSUME_NONNULL_END

SpeechControlManagers.m

//
//  SpeechControlManagers.m
//  SpeechControlDemo
//
//  Created by FF on 2020/11/10.
//  Copyright © 2020 www.ff.com. All rights reserved.
//#import "SpeechControlManagers.h"
#import "Definition.h"
#import "RecognizerFactory.h"
#import "SpeechDataHelper.h"
#import "SpeechControlDataHelper.h"
#import <AudioToolbox/AudioToolbox.h>
#define kOFFSET_FOR_KEYBOARD 110.0#define GRAMMAR_TYPE_BNF    @"bnf"
#define GRAMMAR_TYPE_ABNF    @"abnf"
#define GRAMMAR_DICRECTORY  @"/grm"static SpeechControlManagers* _instance = nil;@implementation SpeechControlManagers
+(instancetype) shareInstance
{static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{_instance = [[self alloc]init];});return _instance;}- (void) initIFly
{//设置日志打印等级[IFlySetting setLogFile:LVL_NONE];//设置是否打印控制台[IFlySetting showLogcat:YES];//设置日志文件的路径NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);NSString *cachePath = [paths objectAtIndex:0];[IFlySetting setLogFilePath:cachePath];//设置APPIDNSString *initString = [[NSString alloc] initWithFormat:@"appid=%@",APPID_VALUE];[IFlySpeechUtility createUtility:initString];
}#pragma mark - Initialization-(void) initParam
{//初始化类型NSString *documentsPath = nil;NSArray *appArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);if ([appArray count] > 0) {documentsPath = [appArray objectAtIndex:0];}NSString *appPath = [[NSBundle mainBundle] resourcePath];_grammBuildPath = [documentsPath stringByAppendingString:GRAMMAR_DICRECTORY];_aitalkResourcePath = [[NSString alloc] initWithFormat:@"fo|%@/aitalk/common.jet",appPath] ;_bnfFilePath = [[NSString alloc] initWithFormat:@"%@/bnf/call.bnf",appPath];_abnfFilePath = [[NSString alloc] initWithFormat:@"%@/oneshotbnf/oneshot_cloud.abnf",appPath];_wakupEnginPath = [[NSString alloc] initWithFormat:@"%@/ivw/%@.jet",appPath,APPID_VALUE];
}- (void) initAudioPlayer
{//定义URl,要播放的音乐文件是win.wavNSURL *audioPath = [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] pathForResource:@"operating_face_rec"ofType:@"wav"]];//C语言的方法调用//注册服务AudioServicesCreateSystemSoundID((__bridge CFURLRef)audioPath, &_soundId);//增添回调方法AudioServicesAddSystemSoundCompletion(_soundId,NULL, NULL, NULL,NULL);
}- (void) initVoiceControlObject
{[self initParam];//初始化配置文件路径self.wakeupWordsDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"小扣小扣",@"0",nil];[self initAudioPlayer];//初始化音频播放器//配置默认为本地识别self.engineType = [IFlySpeechConstant TYPE_LOCAL];self.grammarType = GRAMMAR_TYPE_BNF;self.isCanceled = NO;self.isVoiceWakeuperState = NO;self.isSpeechRecognizerState = NO;self.m_isCanRun = YES;self.localgrammerId = nil;self.cloudGrammerid = nil;//创建语音唤醒self.iflyVoiceWakeuper = [IFlyVoiceWakeuper sharedInstance];self.iflyVoiceWakeuper.delegate = self;[_iflyVoiceWakeuper setParameter:@"" forKey:[IFlySpeechConstant PARAMS]];//创建语音识别类self.iflySpeechRecognizer = [RecognizerFactory CreateRecognizer:self Domain:@"asr"];[_iflySpeechRecognizer setParameter:@"" forKey:[IFlySpeechConstant PARAMS]];[self.iflySpeechRecognizer setParameter:@"1" forKey:@"asr_wbest"];[self createDirec:GRAMMAR_DICRECTORY];////构建语法并上传[self buildGrammar];//配置语音唤醒参数[self configureVoiceWakeuperParam];__weak typeof(self) weakSelf = self;/* 创建一个并发队列 */dispatch_async(dispatch_queue_create("net.bujige.testQueue", DISPATCH_QUEUE_CONCURRENT), ^{/* 耗时任务... *///开始语音控制[weakSelf startVoiceControl];});
}-(void) startAudioPlayer
{//开始播放AudioServicesPlayAlertSound(_soundId);
}
//-(void)sound{
//
//    SystemSoundID soundID;
//    //NSBundle来返回音频文件路径
//    NSString *soundFile = [[NSBundle mainBundle] pathForResource:@"operating_face_rec" ofType:@"wav"];
//    //建立SystemSoundID对象,但是这里要传地址(加&符号)。 第一个参数需要一个CFURLRef类型的url参数,要新建一个NSString来做桥接转换(bridge),而这个NSString的值,就是上面的音频文件路径
//    AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:soundFile], &soundID);
//    //播放提示音 带震动
    AudioServicesPlayAlertSound(soundID);
//    //播放系统声音
//    AudioServicesPlaySystemSound(soundID);
//}- (void)startVoiceControl
{while (_m_isCanRun) {if (!self.isVoiceWakeuperState) {//判断唤醒状态self.isVoiceWakeuperState = [_iflyVoiceWakeuper startListening];if(self.isVoiceWakeuperState){NSLog(@"==>开启唤醒");}else{
//                NSLog(@"启动识别服务失败,请稍后重试!");}}else{
//            NSLog(@"请先上传语法!");}if ( [self isCommitted] && self.isSpeechRecognizerState) {//判断语法是否已经上传,是否上传成功[self startAudioPlayer];//睡眠两秒,等待语音播放完[NSThread sleepForTimeInterval:2];BOOL ret = [_iflySpeechRecognizer startListening];if (ret) {NSLog(@"启动语音识别成功");self.isSpeechRecognizerState = NO;}else{
//                NSLog(@"启动语音识别失败");}}else{}usleep(10);};}/**停止语音控制*/
- (void) stopVoiceControl
{[_iflyVoiceWakeuper stopListening];
}#pragma mark - upload grammar-(void) buildGrammar
{NSString *grammarContent = nil;//set engine type, clound or local[[IFlySpeechUtility getUtility] setParameter:@"asr" forKey:[IFlyResourceUtil ENGINE_START]];[_iflySpeechRecognizer setParameter:@"" forKey:[IFlySpeechConstant PARAMS]];[_iflySpeechRecognizer setParameter:@"utf-8" forKey:[IFlySpeechConstant TEXT_ENCODING]];[_iflySpeechRecognizer setParameter:self.engineType forKey:[IFlySpeechConstant ENGINE_TYPE]];[_iflySpeechRecognizer setParameter:self.grammarType forKey:[IFlyResourceUtil GRAMMARTYPE]];[_iflySpeechRecognizer setParameter:@"asr" forKey:[IFlySpeechConstant IFLY_DOMAIN]];if([self.engineType isEqualToString: [IFlySpeechConstant TYPE_LOCAL]]){//类型:本地识别grammarContent = [self readFile:_bnfFilePath];[_iflySpeechRecognizer setParameter:_grammBuildPath forKey:[IFlyResourceUtil GRM_BUILD_PATH]];[_iflySpeechRecognizer setParameter:_aitalkResourcePath forKey:[IFlyResourceUtil ASR_RES_PATH]];[_iflySpeechRecognizer setParameter: @"utf-8" forKey:@"result_encoding"];[_iflySpeechRecognizer setParameter:@"json" forKey:[IFlySpeechConstant RESULT_TYPE]];}else{//类型:在线识别grammarContent = [self readFile:_abnfFilePath];}//开始上传语法__weak typeof(self) weakSelf = self;[_iflySpeechRecognizer buildGrammarCompletionHandler:^(NSString * grammerID, IFlySpeechError *error){dispatch_async(dispatch_get_main_queue(), ^{if (![error errorCode]) {NSLog(@"=====>上传成功 errorCode=%d",[error errorCode]);}else {NSLog(@"=====>上传失败,错误码:%d",error.errorCode);}if ([weakSelf.engineType isEqualToString: [IFlySpeechConstant TYPE_LOCAL]]) {weakSelf.localgrammerId = grammerID;[weakSelf.iflySpeechRecognizer setParameter:weakSelf.localgrammerId  forKey:[IFlySpeechConstant LOCAL_GRAMMAR]];}else{weakSelf.cloudGrammerid = grammerID;[weakSelf.iflySpeechRecognizer setParameter:weakSelf.cloudGrammerid forKey:[IFlySpeechConstant CLOUD_GRAMMAR]];}});}grammarType:self.grammarType grammarContent:grammarContent];}- (void)configureVoiceWakeuperParam
{[_iflyVoiceWakeuper setParameter:@"0:1450" forKey:[IFlySpeechConstant IVW_THRESHOLD]];NSString *ivwResourcePath = [IFlyResourceUtil generateResourcePath:_wakupEnginPath];[self.iflyVoiceWakeuper setParameter:ivwResourcePath forKey:@"ivw_res_path"];[_iflyVoiceWakeuper setParameter:self.engineType forKey:[IFlySpeechConstant ENGINE_TYPE]];[_iflyVoiceWakeuper setParameter:@"utf8" forKey:[IFlySpeechConstant RESULT_ENCODING]];[self.iflyVoiceWakeuper setParameter:@"2000" forKey:[IFlySpeechConstant VAD_EOS]];[self.iflyVoiceWakeuper setParameter:@"wakeup" forKey:[IFlySpeechConstant IVW_SST]];[self.iflyVoiceWakeuper setParameter:@"0" forKey:[IFlySpeechConstant KEEP_ALIVE]];[self.iflyVoiceWakeuper setParameter:@"json" forKey:[IFlySpeechConstant RESULT_TYPE]];[_iflyVoiceWakeuper setParameter:@"asr" forKey:[IFlySpeechConstant IFLY_DOMAIN]];}-(BOOL) createDirec:(NSString *) direcName
{NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *documentsDirectory = [paths objectAtIndex:0];NSFileManager *fileManager = [NSFileManager defaultManager];NSString *subDirectory = [documentsDirectory stringByAppendingPathComponent:direcName];BOOL ret = YES;if(![fileManager fileExistsAtPath:subDirectory]){ret = [fileManager createDirectoryAtPath:subDirectory withIntermediateDirectories:YES attributes:nil error:nil];}return ret;
}/*read file 读取在线识别或本地识别的语法文件*/
-(NSString *)readFile:(NSString *)filePath
{NSData *reader = [NSData dataWithContentsOfFile:filePath];return [[NSString alloc] initWithData:readerencoding:NSUTF8StringEncoding];
}-(BOOL) isCommitted
{if ([self.engineType isEqualToString:[IFlySpeechConstant TYPE_LOCAL]]) {if(_localgrammerId == nil || _localgrammerId.length ==0)return NO;}else{if (_cloudGrammerid == nil || _cloudGrammerid.length == 0) {return NO;}}return YES;
}#pragma mark - IFlyVoiceWakeuperDelegate
/**音量值改变*/
- (void) onVolumeChanged: (int)volume
{
//    NSString * vol = [NSString stringWithFormat:@"%@:%d", NSLocalizedString(@"T_RecVol", nil),volume];
}/**开始录音*/
- (void) onBeginOfSpeech
{NSLog(@"onBeginOfSpeech");
}/**停止录音*/
- (void) onEndOfSpeech
{NSLog(@"onEndOfSpeech");
}/**
语音结束*/
- (void) onCompleted:(IFlySpeechError *) error
{NSLog(@"error=%d",[error errorCode]);
}/**
唤醒成功后回调*/
-(void) onResult:(NSMutableDictionary *)resultDic
{NSLog(@"我在,你说");self.isSpeechRecognizerState = YES;}
/**
识别成功后回调*/
- (void) onResults:(NSArray *) results isLast:(BOOL)isLast
{NSMutableString *result = [[NSMutableString alloc] init];NSDictionary *dic = results[0];for (NSString *key in dic) {[result appendFormat:@"%@",key];NSLog(@"----%@",key);if([self.engineType isEqualToString:[IFlySpeechConstant TYPE_LOCAL]]){[[SpeechControlDataHelper shareInstance]analysisLocalSpeechControlData:result];}else{[[SpeechControlDataHelper shareInstance]analysisCloudSpeechControlData:result];}}self.isVoiceWakeuperState = NO;}
@end

AppDelegate.m 中初始一下讯飞SDK接口

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {// Override point for customization after application launch.[[SpeechControlManagers shareInstance]initIFly];//初始化讯飞SDK接口return YES;
}

调用 initVoiceControlObject 接口开启语音识别

- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.[[SpeechControlManagers shareInstance]initVoiceControlObject];//初始化语音控制相关对象
}

主要实现将语音唤醒+语音识别整合到一块并加入唤醒后语音回应功能,讯飞SDK中是提供oneshot模式就是唤醒+识别模式的,但oneshot模式是唤醒后是不中断录音的,导致就无法语音唤醒后播放语音回应,就需要自己重新将这两个功能整合到一块。👆解析部分代码的缺少其他类,可以直接注释掉,需要哪些类的话,下载demo

最后凡是讯飞框架有错误码的问题,都用👇这个链接查一下,可以快速定位问题
SDK&API 错误码查询 https://www.xfyun.cn/document/error-code?code=23108

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/34012.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于如何让ppt在你的ipad上不显示乱码

关于如何让pdf在你的ipad上不显示乱码&#xff0c;我也下了一些软件&#xff0c;但大都是收费的&#xff0c;最后找到了简单粗暴的解决办法:用wps将ppt导出为pdf即可&#xff0c;干净又卫生&#xff01; 前&#xff1a; 后&#xff1a;

[iPhone高级] 基于XMPP的IOS聊天客户端程序(IOS端一)

介绍完了服务器,这篇我们就要介绍重点了,写我们自己的IOS客户端程序 先看一下我们完成的效果图 首先下载xmppframework这个框架,下载 点ZIP下载 接下来,用Xcode新建一个工程 将以下这些文件拖入新建工程中

[iPhone高级] 基于XMPP的IOS聊天客户端程序(IOS端二)

接上一章的,这一章我们着重介绍XMPP 为了方便程序调用,我们把XMPP的一些主要方法写在AppDelegate中 在AppDelegate.m下这几个方法为: -(void)setupStream{//初始化XMPPStreamxmppStream = [[XMPPStream alloc] init];[xmppStream addDelegate:self delegateQueue:dispatch_…

ChatPPT 国内首个AI自动生成PPT效率工具

场景&#xff1a; 目前了解到ChatPPT使用首先需要下载安装MotionGo插件&#xff0c;安装完成之后在WPS或者office里面直接打开就可以了。 方法 输入主题即可

苹果ppt_苹果发布会PPT,为何总能惊艳到你

文末有福利 ▼▼ 曾经&#xff0c;苹果发布会PPT算得上是教科书级别的PPT&#xff0c;2007年在Macworld大会&#xff0c;这是一个非官方用户大会&#xff0c;已经举办了30年&#xff0c;乔布斯在这次大会上发布了第一代苹果手机&#xff0c;我看了好几遍&#xff0c;每次看都热…

苹果ppt_我用PPT复刻了苹果公司的宣传广告,这是对PPT平滑功能的极致应用!

微信扫码观看全套Excel、Word、PPT视频 在微软推出的office2019和office365版本的PowerPoint中&#xff0c;新增了一个非常强大的功能——【平滑】。作者今天就利用PPT的平滑功能复刻了一份苹果公司的宣传广告&#xff0c;效果非常不错&#xff0c;快来一起看看吧&#xff01; …

苹果ppt_惊艳!苹果发布会最爱用的PPT动画,居然这么简单

前段时间的苹果发布会你看了吗&#xff1f; 由于疫情的原因&#xff0c;改为线上发布会&#xff0c;但PPT页面还是一样的炫酷&#xff01; 这里我整理了一份PPT源文件&#xff0c;如果你看的话&#xff0c;私信回复【苹果发布会】&#xff0c;即可获取了&#xff1a; 看了这么多…

如何在腾讯会议中PPT使用演讲者模式

朋友们大家好&#xff0c;今天给大家介绍一下&#xff0c;在学习过程中的一个小技巧&#xff0c;如何在使用腾讯会议的时候开始演讲者模式&#xff0c;现在疫情期间&#xff0c;大家使用线上会议的频率边的越来越高&#xff0c;无论是公司开会还是科研组会&#xff0c;都少不了…

IPHONE控制苹果电脑上Keynote演示PPT教程

小编是苹果迷&#xff0c;从苹果的MP3到MP4 到IPHONE3 3GS 4 4S IPAD1 IPAD2都有&#xff0c;去年年底入了MACBOOK PRO 按媳妇用的也是IP4&#xff0c;MACBOOK也被俺媳妇拿去工作用了&#xff0c;其实我笔记本很少用&#xff0c;再公司用台式机还是舒服。 俺媳妇是幼儿园教师&…

Foxmail登录不上163邮箱。。。

前不久重新装了系统&#xff0c;Foxmail重新安装&#xff0c;账号和密码一直登录不对。 首先登录163网易邮箱&#xff0c; 点击邮箱“设置”&#xff0c;选择左侧栏的【POP3/SMTP/IMAP】&#xff0c;然后检查右侧窗格中是否开启对“POP3/SMTP服务”和“IMAP/SMTP服务”的选择&…

【FoxMail】无法登录, 一直让创建问题.

问题原因: 每次打开FoxMail的时候都显示创建, 创建完成之后,再次打开FoxMail还是显示创建. 出现这个现象的原因是因为使用的公司电脑, 我登录电脑的账号并非超级管理员, 因此导致无法登录. 解决方式: 右键快捷图标, 点击"以管理员身份运行", 即可直接登录进去. 但是…

【解决】Gmail账号无法正常在第三方客户端登录

问题描述 登录尝试已被阻止 xucoco56gmail.com 刚刚有人试图使用您的密码通过非 Google 应用登录您的帐号。Google 已阻止此次登录尝试&#xff0c;但您应进行检查&#xff0c;了解发生了什么情况。请查看您的帐号活动&#xff0c;确保其他人无法访问您的帐号。 问题原因 这个…

邮箱大师qq邮箱服务器设置,如何解决邮箱大师登陆不了qq邮箱的问题

邮箱大师是一款多功能的邮件处理软件&#xff0c;我们可以在邮箱大师中登陆qq邮箱&#xff0c;但有时候会遇到登陆不了的问题&#xff0c;那么&#xff0c;我们应该怎么办呢?下面就让学习啦小编告诉你如何解决邮箱大师登陆不了qq邮箱的问题&#xff0c;希望对大家有所帮助。 解…

foxmail登录outlook账号

临时想起来想把之前白嫖的of365的outlook账号登录到foxmail上&#xff0c;来来回回找了好几个教程&#xff0c;没太有详细的&#xff0c;最后总算是弄成了&#xff0c;也发个帖子留一下 期间参考了下面的链接 https://www.office26.com/outlook/outlook_16062.html https://…

163邮箱登录不了Outlook解决方案

1、确认163邮箱密码正确&#xff0c;并登录网页版163邮箱。 2、设置IMAP/SMTP服务开启 3、在授权密码开启处&#xff0c;点击“新增授权密码”&#xff0c;用生成的授权密码登入outlook邮箱&#xff0c;就成功了。&#xff08;用邮箱的眼原密码登入不成功的&#xff0c;必须要…

电脑outlook应用一直登录不上,输入密码后无法显示网页

今天电脑的outlook一直登录不上&#xff0c;输入密码之后一直说是无法显示网页&#xff0c;仔细想想&#xff0c;应该是outlook默认浏览器除了问题&#xff0c;或者是什么网络协议不对。 最后解决的办法是&#xff0c;发现需要启用Internet属性->高级里面的几个TLS协议 然…

登陆qq邮箱网络未连接到服务器,QQ邮箱无法登陆解决方法图文教程

问题一&#xff1a;QQ是否被盗! 登录一下自己的qq&#xff0c;看一下自己的账号有误异常登录&#xff0c;或者qq根本无法登录。qq被盗往往会造成我们无法登录邮箱。建议找回密码或者通过申诉的方法找回密码。 问题二&#xff1a;是否浏览器不兼容 小编就遇到这个问题&#xff0…

手机版qq邮箱一直连接服务器失败,手机qq邮箱网页版无法登录 求高手 QQ邮箱登不上去 显示找不到服务器15?请问我咋用不...

手机qq邮箱网页版无法登录 今天①天QQ邮箱登不上去 显示找不到服务器 铁通网 下载游戏网页全正常 就QQ邮箱上不去 能进邮箱登陆页面&#xff0c;但打完密码①登陆就显示无法连接服务器 能开QQ空间 能收地 已删除cookis没有用 之后用③⑥??修复过重启过②遍也没用 只有求助了 …

Outlook邮箱登录不上?被阻止?这些方法教你解决

Outlook是微软的一款备受欢迎的应用软件&#xff0c;可以用来收发电子邮件、管理联系人信息、记日记、安排日程、分配任务等。然而最近就有很多朋友向东哥反映&#xff0c;有的时候没有办法正常登录outlook 邮箱&#xff0c;这是怎么回事呢&#xff1f;不用担心&#xff0c;今天…

在Windows邮箱中登录Gmail的解决方案

初次打开 Windows的Mail 时&#xff0c;我们需要添加自己的 Gmail 账户。由于特殊的网络环境&#xff0c;即使我们已经可以通过代理正常访问网页版 Gmail&#xff0c;但我们在添加账户时仍有可能遇到无法连接的情况。 无法连接至Gmail 这是由于用于连接 Gmail 服务的窗口是在「…