00:00
过后接下来如果大家自己去用的话,如果没有下的话,也可以从这地方去直接用啊,接下来里面用好,那接下来我们要做什么呢?好,接下来看下一个知识点了,下一个知识点就是当万能播放器失败的时候。提示出错。对吧,万能播放器你觉得有可能出错吗?当然有啊,为什么?因为对比如说。比如说我用一个不是视频文件让你播,你能播出来吗?对不对,好你就拨不出来了,明白吧,好,那也就说他肯定会出错的时候,那我们就要模拟一下怎么做呢,就这样子,当我们在这个地方里面啊,如果系统播放器一旦出错过后,这时候呢,我们就跳到外播器,万能播放器出的时候弹个对话框啊。好,注意了,那么这样吧,我先把代码提交一下,要不然代码太多啊,上课了好开始录屏了,那么接下来就讲什么呢?就讲我们的,当万能播放器失败的时候提示,那怎么让它失败呢?就是如果系统播放器一旦出错。
01:12
好,是不是就跳的慢的忘去啊,好,那有些同学可能有这样一个老师啊,你看啊。你好像是有点多余了,为什么呢?你看啊,我能否直接用万能播放器就以不用系统播放器了,你不是万能播放器很牛吗?为什么还要系统播放器呢?大家有没有想过,就是我们的万能播放器。它是软解。就是说他是在安卓系统上额外用程序去运行起来,额外的开销去解码吧,他需要。用我们的CPU处理啊。但是呢,如果我们用系统的API。用系统API,那么这个时候,那么假如说我在小米手机上我用预留U,那这个时候这个预留U是小米系统提供的吧,他会在这个手机上是做的最好的一个调配啊。
02:05
那这样的话,我们就用的话,它的效果肯定会好于谁好1万的东西吧。对不对,就是如果一个片子万能播放器也能播。因为它有系统自带的那个那个那个播放器也能播,那播放效果一般而言都是系统播放器要播放的效果好一些,因为对于这个接这个阅读率,这个空间而言,系统这个厂商在出厂的时候是对他已经进行额外的一个设置了。对不对,所以的话要好,效果要好,知道吧,所以的话我们永远播放视频都是先用系统播放器播,因为系统播放的效果会用于万能播放器,万能播放器它只是解决我们有些格式播放不了这种情况,明白了吗?并不是说我们就特别想用万能播放器,其实我们不想,只是因为系统播放器它播放的能力很有限,比如说小米手机就支持AI,还有这MP4啊,或者。
03:04
啊,更多的格式,但它不可能支持很多很多格式吧,但万能播放器它可以解决这个问题,对不对,它可以无限的扩展,但是手机厂商如果你把万能播放器做的特别好,那么你是把别人的活给抢了,那你手机的话是不是成本也增加了,而且你手机卖的这么便宜,你每个功能做的特别好,那人家的软件要不要活,而且你成本是不是增加,所以手机不会做的很牛逼,但是有一种设备会做的很牛逼,就是播放功能机顶活。机体会用来干嘛呢?说明看电视看电影的吧。那如果你。格式支持有限,这样的话就就就就不好啊,本来就靠这个吃饭的,那么他是怎么做的呢?他在芯片里面支持。什么叫芯片啊,就在CPU里面直接支持,就是说你的各种格式,它芯片就支持了,那你用U的话。
04:01
各种各色的也支持了,知道吧,为什么我知道这个情况呢?因为我之前做一个技术支持。有一个老板啊,当时是这么一个情况,然后的话呢。当时他们用的是一个机顶盒,机顶盒知道是什么吗?就一个小盒子,里面呢,它芯片特别牛,就是可以播放各种格式,然后呢是按系统。然后呢,他跟联通。联通公司做一个家庭影院,那种可以通过机顶盒,可以从手机投影,然后到机顶盒来播,让置顶机顶盒来播。对吧,那金灵辉特别牛对不对,然后呢,当时他们也用的他没。但是发现了用于它有播放效果不好啊,为什么呢?因为因为它有他那里面有好几个库。但是他选的库呢,选错了,你看他之前这个地方,他们不是说嘛,针对不同的,你看针对AMVV6V7,这个时候他用的是。
05:03
V6的,其实那个设备的是V7的,虽然也能播就花屏,然后。就是这个时候呢,联通那边就不通过这个项目啊,应该是上千万。后来的话嘞,那个学生就找到我,他说那个老板就之前就问他说这个这个你认识啊,多媒体比较厉害的人嘛,是吧,刚好我又在。黑马是吧,之前当老师刚好那个是刚毕业的学生是吧,他觉得老师很牛是吧,然后就叫我去,其实当时我也我也不知道能不能有把握解决掉这个问题,然后硬着头皮也去,然后被人家称专家,感觉飘飘的是吧,专家来了啊,然后呢,后来我就发现一个问题,发现这哥们呢,他播放的时候,他也由于他就全部用于他系统ipi都不用了,他就导致个问题,他用的用的这个这个这个是那个库,不不对,他这个库你看他用这个。
06:04
解码器,这个解码器,但是它的那个CPU架构是V7的。这样的话就是吃那多就会效果不好,就没有对应嘛。对吧,没对应。那么后来我就提出方案就是。因为我的,因为我的三幺已经是先系统播才有问题,过后才调到万能播放器吧,我的软件是这么设计的,然后我就按照我的软件就跟他这么说,你先用系统方去播。播出错了会它会有出错吧,就跳到万能播放器,然后你要选对对应的要对应的CPU的这个so文件吧,选对选对过后这个时候呢,你再去播好,这个时候的效果就解决了,然后一个月过后是吧,然后他们项目早就通过了,然后后来我打个电话给那个老总对吧。他说啊,小杨啊,谢谢你啊,然后这个我们项目顺利通过,然后啊,你把卡发给我是吧,我打钱给你说当时也没谈钱,因为我不知道解决不了,后来打1000块钱给我了是吧?啊那但是但是你在想吧,因为有些东西是没谈好,有时候就是能有人说了算,对吧,所以以后,但是你话说回来,我也不知道我能不能解决是不是。
07:16
如果说你解决不了的话,你好意思收钱是不是,但解决好了了后,那也是,也就是我感觉是当时因我当时那情况我是没有把握解决的。是没有把握解决,所以我也不好意思收到钱是吧,反正就是年轻人嘛啊,有机会锻炼咱就去,然后去老就去了。啊,去把它给解决掉,解决掉过后呢,然后的话呢,一个月过后就也也有1000块钱还不错是吧,对我来说,反正1000块钱挺好了是吧,钱多钱少啊,但是但是你不知道啊,你想你也不知道能多少是不是,如果你随便要个10万块钱,说不定他也没辙对吧,除非能找到别人那找那那找不到别人,那肯定也得印着头皮叫我是吧,但是万一是我解决不了呢,是不是,那你不就笑大家大牙了是吧,你这专家还要10万,结果啥不会是吧?所以我跟你说没那么好弄是吧?啊所以的话呢,后来就解决了。
08:17
好,那顺便给大家讲一个概念,轮姐硬姐啊,这里面就是轮解硬减减吧。硬件硬件解码好,那同学们软件解码呢,它是这样子的,就比如说像探,它全部呢是用自己研发机制,不用系统的C,当然他最终也是用CPU去运行去执行。那么这个时候呢,是相当于我们就像我们一个软件跑到电脑上,然后去做一些某样工作,对吧,那么他就选用软件去解码,这样的话呢,它消耗CPU比较大。
09:05
对不对,你会发现不会法国特别发烫。然后如果硬件解码是什么呢?其实我们用系统的APIAPI你可以理解为硬件解码,但是也并不像我,并不是真正意义上的硬解码,就比如说假如我用款烂烂手机,它的CPU里面根本没有在CPU里面集成指令机,注意啊,在CPU里面,如果他在芯片级别支持解码。那么你把你的安全系统移植上去,自然就可以解码了,当然他肯定也要调配,那么也就是说真正意义的硬件解码是在CPU里面。CPU里面去做处理知道吧,在芯片里面,但是我现在所讲的硬件解码是一个广义的,就是说只要你用系统的API,我就认为你集成了,因为因为确实只要是安卓手机,它在这个里面,它也对一些普通的多媒体的一个解码,它已经集成了。
10:04
知道吧,所以它的效果呢,普遍比这个第三方的万能解八器要好一些,也就是为什么我们优先要在系统关接波,在出错了再跳转的原因,明白了吧,啊,也就是效果肯定会优于我们的这个啊,那播放器好,那这就是我们这两个概念,然后也就是说硬件解码啊,通常是是在我们的CPU,然后芯片,然后集成CPU就是芯片吧,好了同学们,咱们中国的CPU啊,已经这个,比如说我之前有个老乡啊,然后开老乡会的时候,他们做的那个芯片。相当于落后于英特尔的。相差三代技术,相差这么远知道吧,所以现在中国核心的芯片基本上是国外的。
11:01
啊,那是基本是国外的啊,就是国外的,所以的话,你看这个特别落后,但是特别是中国的这个发动机是吧,也是比较落后,是不是落后也是想要要要在这块当成国家也会想办法的是吧,所以但是在芯片它就有问题,就是大家有没有知道那个前段时间我去这几年。临近这个人呢?美国不是有一个那个事件吗,就是用一个iPhone手机啊,各种东西可以窃听,窃听这些各个国家的领导人呐,对吧,那也就是说其实他之所以能做到,他就是很厉害,他有些如果是在芯片里面做处理,你是很难发现的,为什么呢?比如说你联网问是通过。通过这个硬件了,那如果我通过你芯片去做手脚的话,那你是很难发现的,所以中国的话,为什么比如说电脑政府都需要用联想的,因为联想是控股,是国家的嘛,但是即便是联想,你用的CPU还是人家的,如果人家在西边做处理。
12:05
那你是说不定是很难发现的,对不对,而且又需依赖于别人,所以咱们国家也要想办法大力发展自己CPU对吧,特别是咱们当今大中国跟日本啊,就跟那个美国是有这种是吧,而且我们依赖于他们国家。对不对,所以的话就是国家的话也会考虑到这个问题,你会发现,当然可能只要是军用的东西,可能他会考虑用自己芯片,知道吧,军用方面因为他怕窃取你的,就啪啪啪咱们国家的信息病窃取嘛,对吧?好,那这就是一个补充,那接下来我们讲一个知识点就是什么?就是出错过后的一个提示,一旦出错我们系统播放器会执行空制包L吧L,然后L出错,这样跳到因他没有吧因因为他没有出错,他会到哪里啊L对吧,然后L这个时候他调这个方法,这个方法是空的呀,那我们是不应该做这个事情的,好,然后我们就不要他。
13:11
这肯定不能太跳转吧,但是它会跳转到系统播放器,但是一会会用到这个方法叫就那么当我们出错是不能跳大吧,所以我们把它给。哎。On。那里呀,好,那这样我直接到这里把它干掉,好那有了这个出错的话,我们就谈个对话框就可以了吧,好,那这个对话框提升,我们直接可以拷回过来,嗯。呃,在这个团里面,他。啊。哦,其实是也可以啊,好,我们可以看看啊,但是他对for有个问题,就是你点退出,只把这方消掉,但是我想退出。
14:07
我们的这个什么播放器,所以不能用它系统出来的,对吧,那这时候我们看看它这里面的话,VU里面啊,可以看看它这里面OL的一个对话框L啊LL。L的话,这里面二出错过后,它会弹入对话框。那我们就用它对话框就行了,L在哪里呢?这一定就会输错了,一个监听呢,其监听过后,这里面它应该谈过对话框,看到没有就是对话框对吧?好,我们呢可以把它拷贝过来,当然你可以自己写,其实我是告诉大家可以采用这种方式,对吧,好L。好,那么来到这里肯定能找到对吧?找代码啊,这个不好找嘛,这里是不是好,那么就是溴我们的LL的一个带尔log对吧,好把它给串建出来对吧,然后的话呢,这个对话框我们就可以用上,然后过后这个时候我们就这个时候就是我们的一个上下文对吧?然后呢,我们的这个标题,这是设的标题啊。
15:25
好,这个标题的话。这么多。啊,我们把它给干掉,那这个时候我们就叫啊提示提示,然后呢,我们就是播放视频出错了对吧。好行检查啊,这个网络或者这个视频啊,是否有缺损对吧?好就是你去找找找找原因是吧,但是有时候可能就是这个文件不支持对吧,但是你只能这么说,你不能说不支持对吧,这样的话用户就觉得你这个不行是吧,所以的话呢,要得小心,好那么这个时候有了过后这个是一个按钮。
16:22
对吧,那就是那么就是确定。确定。好确定对吧,那一确定后,在这里面我们做的比较简单,就什么。多了一个什么。多哦多个括号对吧,好,谢谢,那这个时候呢,就应该退出了吧,好给利息好那是不是就可以了,好这个时候呢,你看说这个时候不让你点返回对不对,只要你点确定好,那么我们来看一下同学们,我们去把运起来,然后看看他出错怎么做。
17:12
好,运行在我们的这个模拟器上,诶这个哥们掉线了。好,那这个是。好,我把模拟器呢形容一下。我们要用他夜神是吧,夜神还不错,我感觉比模型还好,好点击看一下。好。然后呢,回来。在运行。应该可以了。起来了吧,然后我们再去把这个。把这个启动这个。于海,运起来这个启动这个的话,那么我们现在播是肯定能播起来啊,那我们要要是不是故意让他搞错啊,搞错的呀。
18:08
怎么搞嘞,这样。我们选一个本地的。我们叫做啊MNTSD的下MP4是这个文件是不没有啊,好一点P4是没有啊,他肯定会出错吧,那如果他。能出来那就挺奇怪的是吧,真稀奇了是吧,好,然后呢,运起来再看好。会弹出这个来啊,那这个时候这哥们他。他识别我看看啊。嗯。
19:04
嗯,我们在地方里面看一下啊,这边是有一对应该加一个什么。对,加action同学很对啊个action,然后就是这个就可以了,对,要加上这个action啊,好运起来。X型呢,就是你看是创建一个新的视图啊,新的一个相对。把一个新的起来,好,我们看看啊,一点可以了,好大家看好,我现在再去点击小米推荐。那这个时候我们点点一次不出来了吧。一点退出了吧,好,那这样的话就可以把别人调起来了,当然这个时候你任何播放器它就会出错。啊,只是说这个没可能没处理好。说明当时咱们没处理好呗,没有现在我们做的好是吧。
20:01
啊,这个。哎。咱都没做呀,你看还是咱的,你看瞬间就出错对不对,多好啊,这才是处理的好嘛。对吧,明明都帮不了,你想这地不存在,他不出错,那不是欺骗老百姓吗?对吧?好,这样的话咱们就搞定了,对不对。好OK,这出错的弹出来这没问题吧,好比较简单,但是这个地址也是错的,那肯定会出错嘛,对吧,你出错那如果是正常的就没问题。好,我们再运行起来,如果是正常的,他肯定不会报错。诶。来看一下,我点这个。小米推荐对吧,等一下。它这个播起来它不会出错,好,那同学们这一块是我们所讲的就是当万的播放器出错的时候呢,这个提示好代码呢。
我来说两句