这两天被华为P10更换闪存的消息刷屏了,就这件事谈谈自己的看法吧。
前几天我在空间中转载过华为在微博抽奖活动中作假被官方封禁的消息,不过那时候也仅仅把这个当成一个段子而已,这也只不过是华为公关部门的失败,并不算是什么大问题。但是想不到这几天P10的问题接踵而至,包括缺少疏油层,阴阳屏,屏幕拖影,原装充电器不支持快充等不痛不痒的问题。没有产品是完美的,P10这些问题自然会影响体验,但是也没有什么致命缺陷,消费者是可以接受的,然而,我万万没想到的是,华为竟然会做出以次充好这种偷鸡摸狗的事。
华为的定价大家自然也清楚,mate系列和p系列价格不断上涨,就价格上来说,已然站在了国产手机的巅峰(忽略8848等土豪机),记得15年我买的p8还只有3000元左右,现在p10已经涨价到了4000元,涨幅不可谓不大。然而,在高定价,高利润的前提下,华为却依然为了获取更高的利益,在自家4000元档的旗舰机下混用千元机甚至百元机使用的闪存,造成同一款手机有三种不同的闪存配置同时出现,并且最高(800m/s)与最低速(200m/s)性能相差四倍,只能说吃相太难看,心疼p10用户,高价买个手机搞得跟抽奖一样刺激。
微博,贴吧和一些论坛都闹翻了,我还以为华为会采取一些措施来解决这个事件,比如换货,召回,或者给用户一些补偿,然而并没有。在事件爆发后,华为做了这几件事:
1.发表了一份不痛不痒,毫无内容的声明,大概意思就是“手机的整体性能不是有个别元器件决定的,由我们500强优化过的p10无论是eMMC还是UFS都丝滑流畅balabalabala。。。”,丝毫不提闪存缩水的事,反而转移话题来忽悠用户。真当用户是傻逼啊?你emmc和ufs2.1闪存四倍的差距还能叫“差不多”?此外,不患寡而患不均,用户气愤的是你在同一款机型里混用闪存,导致花同样的钱而得不到相同的体验,气愤的是你虚假宣传吧用户当猴耍。我只在这份声明里读到了华为的傲慢自大和对用户的漠视,简直是在赤裸裸地说“亲爱的傻逼用户,我是你爸爸”。
2.雇佣海军疯狂洗地和动用公关删帖,引导舆论。华为的海军想必关注手机的多少都有些耳闻,传言华为外包了四家公关公司,大量雇佣水军来吹捧自己,贬低对手,堪称业界之最。这次事件后,海军集体出动洗地,出没于各大网站和论坛,说什么“闪存问题是因为三星供应链卡脖子”(三星:???管我吊事),“第三方软件不兼容,检测有误”(搞笑么,你们发布会不就是用androbench来测试数据么,自己打自己脸?),“要什么自行车,闪存问题影响不大,又不是不能用”(最好和最差约600m/s的读取差距,你告诉我不大?)。谎言说一万遍就会变成真理,大面积的水军的确会让一些吃瓜群众误认为真,从而混淆视听。
对于新闻媒体和社群,华为则是通过各种手段让媒体“沉默”,或者是删除关于p10的新闻,别的不敢说,反正炮村和疼迅数码绝对收钱了,根本没有一点报道,一些网友的留言也被删除,药丸。
然而我终究是太naive了,华为想出了一个更厉害的办法。这两天各大网站大面积转载报道前几日发生的华为手机挡子弹的消息,企图用大面积的正面新闻来掩盖负面消息,不愧是500强,这招实在是太高明了,你这么厉害,做手机实在是屈才了。
总之,p10问题后,华为的确做了不少事,但却毫无正面致歉,赔偿用户等意思,反而是在邪路上越走越远,在公关做文章,企图蒙混过关–承认一个错误就这么难么!?
商业公司自然是逐利的,但却要有底线来约束行为,华为这种公司,实在是让我感到害怕。
和华为比起来,小米简直是白莲花一样纯洁了(我不是miboy哈,就事论事),每次卖手机都把配置标个清清楚楚,mi5出了个残血版,只是CPU品质问题,小米也要特别标明。以前感觉小米把配置都标在首页比较low,现在才感觉简直是良心啊。少有的几次硬件更换行为也是出于原因才做的,而且都是换为同等档次硬件(例如mi3的soc更换),被喷成翔的猴米note2换屏门也仅仅是由于第三方渠道标记错误而已,当时在网上影响那么大,心疼小米,估计是没钱雇水军,要是华为的话这种事根本不会被曝光出来。
还有什么可说的呢?一个主打爱国情怀的厂商,一个定价最高的国产厂商,一个被不少人视为国产骄傲的厂商,多少人放着性能更好的三星苹果不用,放着便宜实惠的小米一加不用(也可能是抢不到吧´_>`),专门选了华为来支持,却遭到这样的对待,华为此次事件无疑对国产手机整体造成了影响。
当然,以华为的能力,想必这件事也就这几天闹一闹,时间一长估计只剩下可怜的p10机主在维权了,大众的注意早就被转移咯。
P10现在已经是智商鉴定机了,如果实在想买华为就买其他机型的吧,P10坑太多。
我呢,作为消费者,一个电子产品爱好者,自然是希望这件事能够一直保持热度,直到华为妥善解决问题。自己能力小,只希望更多的人关注这件事。
最后,想想其实和我关系也不大,反正我买不起华为
还能怎么办?当然是原谅它啊!
Win10创意者更新简单体验
已经用win10创意者更新(1706)版本快一周了,目前看来还是没有多大问题的。直接OTA保留个人文件升级的,因此更新后个人文件没有任何损失。重要的新功能感觉没多少,更多的是一些细节的改变,个人印象比较深的是增加了游戏模式和一些游戏相关的功能,看来win10会对于游戏玩家越来越友好,有没有用暂且不说,光这个态度就相当重要了。此外是一些新特性,如夜灯(大黄屏),完全成为uwp应用的defender,以及新的快捷键win+shift+s可以进行类似QQ那样的截屏,通知面板快速开启热点等。这个版本对于高分屏的适配有明显的进步,rs1中使用GoogleDrive的客户端在高分屏上效果很差,这个版本就神奇的没有问题。最后是一个比较难以注意的地方,控制面板现在被隐藏的越来越深,右键开始菜单已经没有了控制面板的入口,看来微软也逐渐将用户将设置上引导,逐渐弱化控制面板,不过这个就要求设置能够满足用户大部分的需求。
总体来说,1607版本还是相当优秀的版本,也没有出现去年更新rs1后频频翻车的现象。win10真是越来越强了,这几次大更新对于各类用户,尤其是设计人员和玩家增加了许多实用好用的功能,现在根本不想用回其他的Windows版本。
CCTV完结感言
尽管颇为不舍,陪伴我三个月的chaoschild动画(CCTV)也在昨天完结了,看下播放量依旧是杂鱼级别www
CC动画化的消息应该在16年初就有,到了五月份官方还特意在官网上搞了个倒计时的画面,又放出了一点情报,当然,现在看还是雷声大雨点小,这部动画根本没有受到企划上的重视,单纯是作为一部游戏广告片来宣传原作游戏和昨天发售的fandisk游戏。动画一完就马上发续作,意图简直再明显不过。
老实说从去年的occultic;nine开始我就已经对5pb的游戏改动画绝望了,官方的目的已经不是做出一部优秀的动画,而是为了最大限度地宣传自己手中的游戏。啥?动画没讲清楚?那还不赶紧去买游戏!如此心态做出来的动画,质量可想而知。
回到CCTV上,也沿袭了去年o9的“优良传统”。这是一部对于从未接触过原作的观众来说极为不友好的一部作品,原作60-80个小时的剧情被压缩在短短的12集动画之中(除去op和ed大概时间是20*12=240分钟=4个小时),势必需要去除大量的非核心关键剧情,剧情发展的节奏也快的飞起,基本上一集一个游戏章节的节奏,不少动画党刷一脸懵逼也是正常的现象。而这造成的体验是毁灭性的,大概就相当于你看一部电影大纲,了解了基本的剧情和人物关系;又或者是你打开了图解电影,依靠稀少的截图和简陋的描述“看”完了一部电影。
然而,这种硬生生将剧情进行压缩和简化,造成的最致命缺陷,却是苍白的人物塑造。游戏中玩家通过长时间的剧情,逐渐从无到有了解角色的点点滴滴,并进一步感受角色的内心。但对于简短的动画而言这实在是过于“奢侈”,剧情能不能搞完都是问题呢,还搞个毛塑造角色。观众们在经历过12集的狂轰乱炸之后,恐怕只能留下“哦,这个角色做过xxx”这种印象了。
当然,动画只有12集,这是由于企划的不重视所造成的,staff的确已经尽了最大的努力。将一个数十小时的故事压缩为4个小时,本身就是不容易的,神保昌登作为监督耗费了极大的精力,5pb的一些参与过游戏制作的写手如林直孝,梅原英司也作为监修为动画出了一份力。尽管是戴着镣铐在跳舞,staff们也努力把这支舞蹈跳好。游戏改动画剧情魔改近些年也见了不少,所幸CCTV除了对一些流程的修改与删减外,其他的地方都是极为尊重原著的,没有出现ch动画那种xjb改的情况。一些地方对于原作的剧情补充相当出色,例如第十集对于拓留幼年剧情的补充就是一大亮点(幼年士力架prpr)
第十二集的节奏还是相当不错的,高潮处插入了游戏op《非实在青少年》的乐器版,燃到爆炸。整部游戏最喜欢的就是这一段的剧情了。
世莉架「無謀なことに賭ける覚悟はおっけい?」
拓留「おっけい」
世莉架「掛け金は自分の命だってことはおっけい?」
拓留「おっけい!」
世莉架「バカな決断に言い訳をしない意志はおっけい!?」
拓留「おっけい!!」
世莉架「じゃあ行って!舞台に上がって!タク!」
b站版本貌似掐了最后关于ova制作的预告,但官推上已经明确说了会有silent sky end的ova发行,由此整个剧情也就基本上全做完了。
还有很多话想说,但是就到这里吧。总体而言,我对CCTV还是评价良好的,麻雀虽小,五脏俱全。在有限的时间和预算的情况下,尽量做到剧情的完整已经实属不易了,再高的要求也是强人所难。
以上。
Chaos;Head全路线通关感言
CHAOS;HEAD全路线通关纪念
花了一些时间,将CH的个人线补完了。其实接触CH挺久了,最早是在12年石头门一周目后马上就把CH的动画看了,不过由于剧情大幅度缩水,体验极其糟糕,游戏什么的自然没有心思玩了。
今年初将CC游戏通关后又想起了这部作品,于是在3月5日将PC上的初版通了一次,可惜包含个人线的重制版没有在PC上发行,并且没有汉化,因此不得不放弃个人线的内容,加上是将近10年的古董了,原本还以为就要这么坑了www。
4月中旬,做完石头门0的汉化组出人意料的接了这个坑,于是就跟着将个人线的汉化看完咯。
对于那些无偿奉献自己的精力与时间的汉化组,我始终是抱有敬意的。
总体来说,CH的个人线都比较优秀,和主线联系不是特别大,每条路线都补充了主线中没有解释,或者没有解释清楚的的地方,没全通=全没通。
不过和主线最终的Happy End不同,个人线一条线比一条线惨,角色死亡的情况也是家常便饭,6条个人线中有3条路线出现男女主角死亡的情况,甚至其中有一条路线主角群全灭,一个都不剩,胃疼……
简单的评价一下个人线吧。
梨深线
6条个人线中,完成度最高的应该是梨深线,与其他个人线的flag相比也立的比较早,时间也是最长的。这条路线的信息量是最大的,通过梨深和西条之间视角的不断转换,将主线中一些没有说清的细节展示地更加清楚。梨深与将军之间的关系、将军的计划,梨深的过去……这些在主线中隐藏的情节清晰展示了出来。
本条路线的高潮是梨深vs吕野濑,演出效果极高,梨深在陷入绝境时妄想具现出十字桩,使出和将军的绝招“その目、谁の目”,对吕野濑完成了“张贴”击杀,颇为巧合的是,梨深出场的时候,被拓巳误认为是第一起new gene事件“张贴”的犯人,而作案的工具,也同样是十字桩。
最终,拼尽全力的梨深无力破坏即将运行的noah2,只能将这个任务交给即将到来的拓巳,望着头顶的蓝天,陷入了永远的沉睡。
在集装箱中醒来的拓巳和将军再一次见面,下定决心,开始了寻找梨深之旅。
(可惜再也找不到了)
明明自己受到那么多痛苦,却还是用笑容温暖别人,这就是rimi的魅力。
内心的像
梨深:【真想和你……再看一次,那片蓝天啊】
绫濑线
绫濑线是我最喜欢的一条个人线。在这条路线中,绫濑的世界,逐渐在玩家的面前揭示。
“你知道么,64亿人的眼中,有64亿个世界”
在主线中,我仅仅是把绫濑当做是一个电波系的中二少女,而玩通这条路线后才明白,她眼中的世界,和普通人眼中的是完全不同的。绫濑的设定和《沙耶之歌》中男主郁纪相似,在她的眼中,世界是恶心的,人心是丑恶的,天空的青蓝色,在她的眼中,则是一片血红。
于是,她成为FES,用歌声控诉这个丑恶的世界,她成为一名虔诚的教徒,合格的黑骑士。谨遵《吉拉吉奥尔之书编年史诗篇》的指示,她踏上了收集Di-soword之旅。
故事的最后,她一边吟唱着《罪過に契約の血を》,一边将集齐后的七把Disowod抛向天空,打碎了自己的世界,而她,也看到了真正的天蓝色,在一片破碎,宛如地狱的涉谷,她却露出了真正的笑容。
杭(くい)を打(う)て 杭(くい)を打(う)
打上十字之桩吧 打上十字之桩吧
闇夜(やみよ)を切(き)り裂(さ)き 月光(げっこう)を浴(あ)びて
沐浴着撕裂黑夜的月光
幾千(いくせん)もの 鉄槌(てっつい)は
成千上万的铁钉
汝(なんじ)の痛(いた)みとなりて 今(いま)解(と)き放(はな)たれる
成为汝之痛楚 现在就让它释放
やがて叫(さけ)びは宙(ちゅう)に舞(ま)い
呐喊终于在宇宙间飞舞
夜空(よぞら)は紅(あか)く染(そ)まるだろう
夜空会被染成红色吧
十字(じゅうじ)の杭(くい)は力(ちから)となり
十字之桩成为了力量
やがて聖域(せいいき)へと辿(たど)り着(つ)く
终于到达了圣域
给予罪过契约之血
绫濑:【青、原来是这么美丽的颜色】
《罪过に契约の血を》歌曲地址:
http://music.163.com/#/m/song?id=4923781
あやせ路线主题曲,由绫瀨的CV榊原ゆい亲自演唱
塞娜线
塞娜线我感觉在一些设定上比较优秀。在这之前,我一直认为CH受N+的影响比较重,在这上面kid的影子比较不明显,不过这条路线让我又看到了在IN无限轮回系列中一些设定。
在塞娜线中,300人委员会的设定被再度挖掘,系列作品中,第一次直接使用用“game master”的称呼来代指300委员会。300委员会的概念在科学adv系列中一直含糊不清,在最开始接触该系列时,我仅仅把委员会当做是一个隐藏在幕后的,类似于boss的组织,而在对其日渐熟悉后,感觉作者所想表达的远没有这么简单。
本线早先提到的“没有在这个世界的监视器看着你们”
而此时说着这句话看着他们的是谁?是玩家。
而志仓也经常称呼玩家为三百人委员会的诸君——那么三百人指玩家?也不是。
波多野对三百人提出的问题对“你来说,这个世界到底是什么?游戏?实验场?还是牧场?”——我觉得这就是答案。
于玩家为游戏,于公司为实验场,于融入作品中的虚构概念为牧场。实际上三百人这里的概念是集中了部分玩家,开发者,和虚拟的概念。
主线中西条一直重复的“我在ES中操控着ナイトハルト,那么,操控我的玩家是谁呢?”所谓的“中之人”的概念在这条路线中也有体现,可惜在主线中没有凸显出来。in无限轮回系列与屏幕外互动,将玩家卷入游戏之中的理念在这条路线中得到了延续,对于300人委员会的剖析,可以说是这条路线最大的亮点。
不过这条路线的结局还是比较惨的,拓巳依靠委员会提供的作弊码入手了Disword,和塞娜合力将noahⅡ破坏后,两人因受到的伤势过重死亡……又一个死亡end。
ED过后百濑克子的身份也耐人寻味,想不到百濑大妈是委员会这一边的观测者,这个设定也是在个人线中补充的,主线中根本没有提到这一点,始料未及。
(顺便说一下,如果说“将玩家卷入游戏”的话,在这方面做的最彻底的是N+的另一部作品,《君与彼女与彼女之恋》,游戏后期甚至是玩家与屏幕内角色的直接互动,有些玩家也因此称这部游戏为“次元囚笼”)
Deus X Machina
塞娜:【已经够了……Cheat Code、还回去吧……】
梢线
梢梢线个人来说还是不怎么喜欢的,主要原因是这条路线的尺度太大,猎奇程度太高,让我这个小清新极度不适。个人感觉CH之所以评为Z级,梢线至少要背一半的锅。整条路线,概括来说就是被一个小BOSS级别的人工gigalomaniac所耍,在校园里一路大杀特杀。整条路线都是番茄酱,好在一些地方比较克制没有将CG展示出来,否则我就真受不了了。
结局自然也是极其惨烈的,首先是梨深被梢梢杀死,然后是梢梢暴走将塞娜杀死,接着梢梢和拓巳与诹访部(前面所说的小BOSS)同归于尽。
最后在血海所浸染的花园中,拓巳和梢梢手拉手,握着梢梢送给拓巳作为礼物的彩色玻璃珠手串,一同离开了这个世界。
远方,noahⅡ最终实验ThirdMelt启动,天空闪耀着白光。
梢梢线——全灭。
殺戮至病
梢:【梢梢也、想像那样浮在空中、好想变成ぶちゅぶちゅ啊……】
优爱线
主线的完成度虽然极高,不过对于优爱和美爱这对孪生姐妹的关系却始终没有详细说明,而这个遗憾,在这条路线中得以弥补。
在主线中,我一直猜测优爱和美爱是同一个人的不同人格,患有DID的优爱虚构出了“美爱”这个妹妹,同时不自觉的使用gigalomaniac的能力,让“美爱”的存在得到其他人的承认。通完这条路线后,才发现自己想太多了www。
这条路线中西条和优爱的互动蛮有趣的。优爱认为西条身患DID,他的另一个人格“将军”是new gene事件的凶手,于是将西条监禁起来。而西条也够废的,在受到优爱长时间的监禁之后,竟然对身为犯人的优爱产生了依赖心理,不愧是死宅中的死宅23333。
貌似这个心理现象叫做斯德哥尔摩综合症?
优爱的五段质问法也相当有趣。
故事的最后,优爱(美爱)因为自己无意中将姐姐害死而产生了轻生的想法,但最终被西条所拯救,死宅在紧要关头的那一场嘴炮令我记忆犹新wwww。
两个相爱相杀,彼此都受到严重心理伤害的人,最终就这样互相扶持,走了下去。
个人线中少有的Happy End。
月与太阳
优(美)爱:【西条君、如果可以的话……不一起飞吗?】
七海线
总体来说,七海线的设定和chaos;child的一些设定蛮像的。我甚至感觉CC中那个贯穿全路线的Trick,就是根据七海线的设定所延伸拓展的。
主线通过之后,最喜欢的角色就是七海,于是在个人线汉化后马上就把个人线玩了一遍,结果比较胃疼。整条路线恶意满满,虽然表面上是和妹妹love live的故事,不过一切都是假的,是加了特技的。西条拓巳和宫代拓留一样,在绝望中,被自己妄想出人所拯救。西条所妄想出的穿着星来衣服的妹妹,成了他活下去的最大动力,并借此逃避现实,可以说,这条路线上西条从头逃到尾。
和自己妄想出的妹妹love live固然快乐,然而真正的七海却还在承受着断手之痛,手持Di-sword期盼着自己的おにぃ(老哥)来救自己,实在是比较可怜。
结局也比较蛋疼,西条直接放弃了自己真正的妹妹而选择了自己妄想出的妹妹,在noahⅡ的白光中将其Real Boot。ED《Love Power》的欢乐曲调,反而更加衬托出真正的七海的悲哀。
Day Dream
七海:「那、那么、是作为哥哥的妹妹?还是、那个、作为一个女孩子?」
嗯,个人线的感想就这么多了,总体来说我还是十分满意的。CHAOS;HEAD中妄想与现实交错,虚假与真实混淆的特点在每一条路线中都有体现。
西条拓巳也是我玩过的Galgame中性格比较有意思的人物(死宅的代表2333),主要角色的性格也凸显出来:将军的沉着冷静,梨深的温暖治愈,绫瀨的电波中二,塞娜的Cool,梢梢的天然呆(黑),优爱的执着,七海的天真烂漫……在人物塑造方面,CHASO;HEAD比石头门真是有诚意多了。
当然,CHAOS;HEAD既然有N+参与制作,那么猎奇自然免不了,所以口味比较淡的玩家可能不怎么接受。哪些人会喜欢呢,我想是那些对于猎奇向、恐怖向游戏感兴趣,或者是喜欢科学ADV系列和KID无限轮回系列的玩家。不过还是再次提醒:CH没有动画!CH没有动画!CH没有动画!啊不对,还是有一个动画OP和ED的。
最后期待续作Love chuchu早日汉化。(注:我在这里搞错了,LCC已经在PSP平台上汉化了,只不过我当时还没发现)
その目、谁の目?
CHAOS;HEAD Vocal Best:http://music.163.com/#/m/playlist?id=319997520
(歌曲合集)
对多说关闭的一点看法:付费和盗版、订阅和买断、Android和iOS
多说关闭
在前天(3月22日)我收到了多说官方的电子邮件,通知俺多说将在6月1日停止服务,刚好是在儿童节。看到这个消息,我并没有太大的反应,只是感慨一句“终于撑不住了”。
多说是什么?
先解释一下什么是多说吧。多说是一款社会化评论插件,主要是用于为一些个人或者小团队所搭建的网站提供评论功能,网站的访客可以通过多说登录QQ微信或者微博的账号,在博主的文章下面留言;博主也能对留言进行管理、统计和回复等。多说下载超过1万次的时候,是在2012年5月份,用了6个月的时间。在推出WordPress 0.8版以后,多说只用了3个月,累计下载量迅速突破了2万次。多说支持多种博客框架,例如WordPress、Hexo、Ghost等,因此在Hexo圈子里也相当受欢迎。简单来说,多说就是提供博客网站下面评论框框的东西。
颓势已显
多说的关闭从很早已经显出端倪了,如果在Google搜索“多说”关键字,弹出的结果第一条是多说发表的关闭服务声明,首页有两条结果都是在提问诸如“多说稳定么?”、“多说怎么不能用了”等问题。就我个人在2月中旬建站使用多说至今(准确来说是前天,3月22日已经将评论系统换为Disqus了),多说已经出现了多次问题,包括注册多说账户困难、间歇性抽风无法使用服务等,换言说就是极不稳定,在宣布关闭服务之前,多说可以说已经处于半瘫痪的状态。
开发者与用户的博弈
多说关闭的原因,无非是获得的盈利已经不足以支撑团队的开发,加上其他社会化评论插件如友言等的竞争,以及市场的日渐萎缩。多说是免费的,这意味着多说团队的主要收入是来自于用户流量(或者还有其他我不知道的盈利点?至少我没发现广告),而本身还需要支付一定的服务器费用,开发人员的费用等,在这种情况下,多说竟然还能免费存在这么长时间,简直像是奇迹一般。然而,任何企业或者个人都无法不获得利益而源源不断地向他人牺牲自己的时间、精力与才智,在开发者与用户之间,同样也是如此。开发者和用户之间,存在着一场博弈,但是这场博弈中,任何一方假如大获全胜,反而会导致双方的利益同时收到损害。
赢家通吃?
这个词语用在这里或许不怎么妥当,不过暂且按照字面意思来理解吧:)
多说(开发者)提供了免费的产品,因此对于用户(例如我)来说,可以不花费一分一毛就能免费使用到这款产品来提供网站的评论框,用户在这个过程中获得了利益,而开发者则因此赚不到钱,甚至亏损,这场博弈中,处于胜者地位的是用户。但是因此造成的后果呢?开发者(多说)最终支撑不住停止了服务,而用户们也因此不得不换用其他的社会化评论服务,不仅需要花费时间和精力在其他服务中选择和部署(之后选择的服务也不一定比多说好),还要导出多说中的评论进行数据转移。最终,双方都因此而遭受损失。
无需重装系统就能修复问题的小技巧&通过代理给onedrive提速
无需重装系统就能修复问题的小技巧
昨天真的是挺倒霉的,一直用的好好的UWP应用ACG Player无法打开,听歌都成了问题,仔细排查了一下,发现一大半的UWP应用都挂了,包括经常用的IT之家UWP客户端和B站客户端,没办法根据错误代码上网找解决方案,结果试了N个方法还是老样子,但还是不想重装系统的。
或许以前我还蛮热衷于闲的没事把系统重新安装一遍,但是现在的情况已经和从前不同了,目前我的电脑安装了大量的软件在C盘,重装系统的代价巨大,而且一些环境变量的配置也相当烦人的。但是大量的UWP应用无法使用已经给我的日常使用造成了巨大的影响(尤其是无法使用之家)。正当一筹莫展之际,看到了RSS订阅中的这篇文章:
抱着试一试的心态点了进去,发现了一个无需重装系统就能修复系统文件的小技巧,即保留个人所有文件安装系统。
其实这种方式在以前也是知道的。在升级windows10时,是有格盘重装和保留个人文件重装两个选项的,只是没想到在同版本间重做系统也能保留个人文件。个人猜想是重新刷写windows文件夹中的内容和注册表等,不改变其他的内容,以到达修复系统的目的。
看过这篇教程后我从网上下了个1607版本的win10保留个人文件重装,新做的系统和原来几乎没有一点变化,UWP应用无法打开的问题也解决了,困扰我的难题就这样轻易解决了。
所以在遇到windows上各种各样奇怪的问题时,在重装系统前不妨试下这个小方法,说不定会有意外惊喜:)
通过代理给onedrive提速
本来系统无缘无故崩了就够倒霉了,晚上想着在play上把“Pocket Casts”这款应用付款买了,毕竟一直用着酷市场的八国联军版也不怎么好意思,付款的时候发现Google单方面把我的信用卡给ban了,甚至连通知一声都没有,我现在就有一句mmp送给Google Wallet。(你可能也是正版软件的受害者)
没有办法付费购买的确很麻烦,但是更麻烦的是我的Google Drive订阅是绑定在这张卡上的,每月扣除1.99美元获取100GB的空间,卡挂了连续费都麻烦,于是我想起了早就被我抛弃的OneDrive。
我在去年11月份购买了一年的Office365订阅,微软附赠了1年的OneDrive1TB的空间,但是一直没有利用好,一个是感觉OneDive的功能比较少,界面不怎么好,另一个就是众所周知的网络状况,由于服务器远在海外以及大陆的DNS污染,OneDrive访问速度极其缓慢,网页版也无法打开(事实上Office的Web端也无法打开,这也是几乎没有人使用Web版Office的原因)。在使用了国内的坚果云同步盘和Google Drive后更是没有了用OneDrive的想法了。
意识到无法使用Gdrive后,我又把目光投向了早就被遗忘的OneDrive,恰巧Android端的ShadowSocks最新版本可以自定义规则,于是就有了通过挂代理访问OneDrive进行提速,进而把自己在GDrive上的文件迁移到OneDrive上的想法。
说做就做,为了在所有设备上都能通过代理访问OneDrive,对上传和下载等进行提速,我分别对Win、iOS、Android上的ss客户端进行了设置。
Windows平台设置
Win平台上,我使用的SS客户端是ShadowSocksR,比起原始版本的SS,ShadowSocksR增加了混淆参数、统计节点等功能,并且可以很方便的批量导入服务器和更改规则,更加好用。想要让通过代理访问OneDrive,自然要找出客户端访问的地址,在网上查了一下相关的教程,把下面几个网址添加进用户规则列表,更新PAC后就发现生效了,无论是上传和下载都能通过代理进行,网页版的OneDrive和OneNote等Office套件也能正常访问了。速度测试了一下基本上还是能够达到满速的,只是上传不怎么稳定,大体上还令人比较满意。
列表如下:1
2
3
4
5
6
7
8
9
10
11
12||onedrive.live.com^
||live.com^
||live.net^
||office.com^
||office.live.com^
||onenote.com^
||outlook.com^
||outlook.live.com^
||docs.com^
||people.live.com^
||sway.com^
||calendar.live.com^
iOS平台设置
iOS上我使用的是ShadowRocket(小火箭)这款应用充当ss客户端,当初花了6块钱买了,不过现在涨价到了18元。小火箭功能十分强大,不仅可以充当ss客户端,还可以进行简单的抓包,查看各个应用进行的网络通信。我个人感觉小火箭在自定义规则方面比较方便,提供了关键词检测的功能,于是我把“office”、“onedrive”、“onenote”等关键词添加到了规则列表里,设置成检测到这些关键词的通信进行代理访问后,OneDrive就能通过代理访问啦。
(6块买了小火箭真是赚翻了XD)
Android平台设置
比较麻烦的是Android平台的设置,个人感觉Android上的ss客户端还是十分简陋的,这个版本前甚至都不能自定义规则。开始的时候我想按照pc端的做法把那几个网址添加了进去,试了一下屁用都没,还是直连的。于是只能自己上咯。我下载了Packet Caputer这款无Root便可抓包的应用,在直连状况下访问OneDrive,想要找出通信的网址。
如上图所示,找出了几个类似”api.onedrive.com”的地址,全部添加进规则列表,还是失败。
正当一筹莫展之际,看到了Android版ss中“绕过局域网和中国大陆”这个选项,当遇到非大陆地址的时候全部进行代理,测试了一下,成功。
当然,所有非大陆地址都进行代理可能会造成一些不便,例如LastPass这款应用在不同ip地址登录会进行验证,代理访问的话很不方便,因此可以配合ss上的“绕行模式”使用,将LastPass这款应用加入绕行列表,这样就能通过直连的方式使用LastPass。
至此,所有的设置都已经完了,可以愉快的使用微软的云服务开车了。
不说了,营养跟不上,我先去喝点营养快线。
Android Soundpool和Mediaplayer的简单demo
在学习Android开发前就一直想做一个类似于play商店中
程序主要包括主程序mainactivity和布局文件activity_mian.xml,需要在资源文件夹res中新建一个名为raw的文件夹,里面存放音频文件,mp3类型的可以播放,别的格式没怎么测试。
俺感觉soundpool和mediaplayer的区别是soundpool处理的可能是经常播放的短暂声音,例如五子棋程序中的落子声音,mediaplayer处理的是一般的长资源文件。
MainActivity.java1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80package com.example.knighthart.pajipajipaji;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.SoundPool;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
//接口方式设置响应事件并初始化控件
private Button btnplay;
private Button btnpause;
private Button btnstop;
private Button buttonplay;
private SoundPool soundPool;
private MediaPlayer mPlayer = null;
private boolean isRelease = true; //判断是否MediaPlayer是否释放的标志
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bindViews();
//bindViews是对于控件和soundpool的初始化
}
private void bindViews() {
btnplay = (Button) findViewById(R.id.btn_play);
btnpause = (Button) findViewById(R.id.btn_pause);
btnstop = (Button) findViewById(R.id.btn_stop);
buttonplay=(Button)findViewById(R.id.button_play);
btnplay.setOnClickListener(this);
btnpause.setOnClickListener(this);
btnstop.setOnClickListener(this);
buttonplay.setOnClickListener(this);
soundPool= new SoundPool(10, AudioManager.STREAM_MUSIC,5);
soundPool.load(this,R.raw.pajipajipaji,1);
}
@Override
public void onClick(View v) {
//设置响应事件
switch (v.getId()){
case R.id.btn_play:
if(isRelease){
mPlayer = MediaPlayer.create(this, R.raw.silentwindbell);
isRelease = false;
}
mPlayer.start();//开始播放
Toast toast1=Toast.makeText(getApplicationContext(), "我有一首silent wind bell献给篝管理", Toast.LENGTH_LONG);
toast1.show();
btnplay.setEnabled(false);
btnpause.setEnabled(true);
btnstop.setEnabled(true);
break;
case R.id.btn_pause:
mPlayer.pause(); //停止播放
btnplay.setEnabled(true);
btnpause.setEnabled(false);
btnstop.setEnabled(false);
break;
case R.id.btn_stop:
mPlayer.reset(); //重置MediaPlayer
mPlayer.release(); //释放MediaPlayer
isRelease = true;
btnplay.setEnabled(true);
btnpause.setEnabled(false);
btnstop.setEnabled(false);
break;
case R.id.button_play:
Toast toast2=Toast.makeText(getApplicationContext(), "四斋蒸鹅心", Toast.LENGTH_LONG);
toast2.show();
soundPool.play(1,1, 1, 0, 0, 1);
break;
}
}
}
activity_main.xml1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
tools:context="com.example.knighthart.pajipajipaji.MainActivity">
<Button
android:id="@+id/button_play"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="啪叽啪叽啪叽~"
tools:layout_editor_absoluteX="159dp"
tools:layout_editor_absoluteY="230dp" />
<Button
android:id="@+id/btn_play"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/button_play"
android:layout_marginTop="50dp"
android:text="播放" />
<Button
android:id="@+id/btn_pause"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/btn_play"
android:layout_alignStart="@+id/button_play"
android:text="暂停" />
<Button
android:id="@+id/btn_stop"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignTop="@+id/btn_pause"
android:text="停止" />
</RelativeLayout>
主界面
具体用法参考Android中播放声音的两种方法
官方API文档: