00:00
那接下来我们讲人为切换,我们系统器万能模器为什么要人为切换呢?是这样的,有时候播这个,当我们用系统方去播的时候,会有一个问题,就是它有声音,但是没画面,大家有有在那体验过吗?就有有些播,有时候你播一些视频了,他没出错,但是这个时候只听到声音,但是我们又想看到画面怎么办?就切换到万能播放器就可以了,其实知道吧,但是没办法,它自动切换不了,为什么?因为它不出错,知道吧,它不出错,那我只能只只能提供一个按钮,让他手动切换就可以了,对不对?所以我们接下来讲的人没切换是把我们之前这个按钮给给加上啊,就是你要一点的时候,然后播我们是加上这个按钮,这个按钮是没有做啊,好,那么接下来做以做了,来到我们实验室,来到我们系统播放器这。好,然后找到点击事件这里,然后呢,我们现在弹个对话框吧,这个对话框在哪里谈呢?这里面有一个叫做啊。
01:12
第这个是吧,好,我们就秀属于选这个切换播放器的一个dial啊o dialog对吧,然后把它给创建出来。好,在我们地方里面呢,我们接下来怎么做呢?就这么做了啊,在这个地方里面,我们对话框a let大的点build吧,好,然后build好,这里面六一个build好然后上下文类似好然后这个时候呢,Build可以设置一个标题吧,这是title头,然后就说是否切换这个啊提示吧,提示,然后有了过后呢的里面就set我们的message吧,就说当前使用系统播放器播放,是否切换到万能播放器播放,放成播放器播放视频对不对,好然后有了过后,如果这个时候有过后是有个确定和取消啊。
02:32
好,现在我们的这个地方呢,我们可以说确定,确定的话呢,有个后,例如一个隐私件,好那么这个时候有过后确定的话,那就开始切换呗,这哪个方法是大的,这个就可以了,好那么接下来是可以取消啊好这时候呢,这个是取消好这个为多少,那好接下不要忘了右应该做一个什么秀,就可以弹出来了,对不对,这么地方同样来到我们的切换的时候,来到me播放器的时候,这个时候我们也要去做这个事情呢,来到点击时间,这好,然后也是在那里做一个对话框,这对方的话叫start。
03:24
系统这块啊,然后这个时候以后把它点击事件里面,把它引用这个是不是啊,好在地方里面的话呢。回去。点着,然后有个后来就是当前使用万能播放器。万能播放器万能播放。播放器播放是否切换到系统?
04:01
是不是这样子,同学们什么时候要什么时候要系统切换万能呢?就是当系统播放器它播的时候,有时候没画面,因为它没出错,没办法手动替换,是不是自己动手丰衣足食是吧,自己动手是吧,自己动手OK。自己动手对不对,那如果是万能播放器啊,他播的时候为什么希望系统播放器呢?就是当然播放的效果不好,是没有万能,是没有系统帮你不的好啊说要切换没问题吧,好,那接下来这个切换代码实现了吗?没有,那我们可以来把这个代码拷贝一下。复制粘贴过来,然后有了过后注意这个时间切换到在哪里啊。C是这个就可以了,这个是照样停着好,那么大家想想在不同的手机,两个阿卡T的跳转,它是有一个什么动画吧,这动画我们通常应该什么?
05:09
这个动画如果没做任何东西,是是它是默认有个切换的,那这个时候我们是可以想办法把动画给切屏蔽掉的,这有个代码,这个代码从哪里来的,马上来的把它拷贝过来啊好人为切换,这时候呢,这地方里面有一个代码,注意这个代码的话呢。把它拷贝过来。样式,然后呢。啊,我们把这个空给干掉,为啥,因为这个因为这个工具啊有问题啊,这个这个就是这个工具有问题,它拷贝过来会有乱码。好,我们这时候点一个替换,粘贴一下,好替换成空格。好,然后呢,把它放拷贝到样子里面去。好到哪里啊,找到哪里,同学们这个样子里面去啊好。
06:08
那这里面的话呢,你看啊,这里面就是调查,调查过后呢,好,这就是这个里面,它再去用下面这个,所以我们用的是它就是没有动画的一个主题,知道吧。好,那这个时候的话呢,在跳转的过程中,好去用它就可以了,好怎么用呢,这边已经说了,就在这里面去用,对不对,用它。好,那这个时候用了过后,同学们,我们就要把这个们去把它给用,用这两个里面是改成它了,改成这个自个的样式,就不是用系统的了吧,啊这个不改,呃,在哪里改啊在。这个是我们的吗?是对吧,是改改自己自己选的呀。改成这个的好,那这个时候全屏空一会只能在代码做处理了吧,好,那这时候呢,就是S。
07:09
题,是不是这个就同样把这个复制呢,也拿过来咱们系统这里。想着你要把它给替换吧。好,那问题是我看看这哥们。是全屏的,那么这样我我我我我想做这样一个事情,我先把这个粘贴过后。然后呢,我想把这个剪切来看看是否可以,就是它同时有。你看它这里面是有这个样式啊,然后我想把它到这里来,同时的粘那个照,哎,有了吧,哇塞全屏也帮我们搞定啦,然后这个内容覆盖也是也有了,哇塞那那也就说我们从此以后再也不用担心了。
08:02
哇塞,那太好了,太幸福了,幸福质量瞬间提高是吧?好哦,我我算错了啊,不好意思啊,幸福来来开快,就像龙卷风,好,我把它运习起来,好好,同学们一起来看一看,当然如果是在有些手机,当然有些手机两个H切换,它可没有动画,但是只要以后有动画的手机,你可以试一试,H切换就没有了,知道吧,这是很很有用的代码,网上找的。啊,因为当时的话呢。啊,我发现这两个切换比较丑,因为你想两个播放器,我给用户的感觉是一个,所以切换的时候是让他不要不要做执行任何动画,这样的话让他感觉慢,你看得见没有任何切换,自己感觉是一个动画了,一一个播放器了,就不就给人感觉,哇,这播放器太牛了是不是。好,那接下来过后啊,对,就是骗他,当然也不是骗,就是我们要做成这样的效果嘛,就像我们装修一样。
09:07
你就把这些掏开,里面全是砖,这不是骗吗?他就是包起来啊,对不对,这是包装吗?懂意思吧,是不是这个道理啊,你再。假如说把你衣服拔了,你想漏下来是什么?赤裸裸露体是吧?所以你穿衣服也是包装对不对,那这没办法呀,对不对?好是可以了吗?好,那我们切换一下,同学们啊,现在当前使用的是万能包放器,是否切换到系统播放器,你觉得切换过后他会再回来吗?肯定因为他会帮播放出错,对吧。好一会会又回来,但是如果我们一会儿去播一个他能播的,比如说我们现在去播一个他自己能都能播的,换一个换一个,这个是不是这个是比较OK是吧,连起来。
10:06
好,拎起来。一起来。然后呢,大家看啊,一点击啊,点击这个门。好,当前应该用的是。系统模式吧,然后一点切换。这时候看一下。万能了吧,好点取消对吧,一点取消,这就这样子,听到没有这边切换了吧,那那的话呢,我们当然我们现在又可以切换,现在是万能播放器吧,有写系统放器。是啊,你会发现他有跳转吗?之前还抖一下,现在你看根本就就没有调整了,对不对,就是把这个动画呢,已经就变成是很爽了啊什么哦进度是吧啊,大家可以去自己说一下啊,而且不也不难,你这样啊,你点圈的时候把把位置给记下来吧,然后在那个地方再去播的时候去取一下可以了吧,就播起来的时候就就CC进去,但自己做一下啊,我相信大家想做吗?咱们自己做一做,要不要好来做一做,你看啊,其实我用太简单,我不用数据库,我用是不可以啊好大家看啊。
11:28
嗯,我就做一做,咱们这个班就现场做啊,没做过,以前没做过,现在现场做很简单,嗯,首先不管是在哪里一都要去保存啊,当你点确认的时候来到哪里啊,来到首先我们来到对话框吧,好呃,就是呃在切换到找o o click这里,然后当你一点切换的时候,弹出来一点确定的时候,我就去去保存吧。好,这个时候呢,我的地方我用一个什么呢?用一个缓存工具啊,缓存工具好,这时候呢,缓存起来。
12:05
看选一个U9是,那有了过后呢,我这个地方里面呢,我一会用它就是我用它去put一个int类型,那int类型的话呢,这个时候它肯定有key吧,Key是什么呢?Key就是啊啊key的话我们就叫它the播放位置对吧,然后值就是当前的播放进度,就是video u,然后get到我们什么类就这一插了啊,然后有了过后我们去把这个给创建出来。对吧,算出过后这是K吧,这是Y6吧,Y60对吧,你看在这三个都没写,这个咱们特意写了。那有个保存过后我们用的是什么吧,然后啊,然后这个时候注意我们其实少穿一个上下文。
13:11
是要上一般上下文的好,然后这个时候我们的时候啊,就是要sister是这样的好,然后这个时候呢,它会让我们去添加常数对吧,好进去了,所以时候呢,第一个头发呢,就是上下班。啊,肯定要写上下文的。那这个时候有了过后,同学们接下来它这里面就可以get的这个对吧,然后这是名字叫艾特硅谷,然后类型是什么?是有吧,对不对,好就是不让其他应用访问对吧,SP然后去ID的,然后put一个什么类型啊型key接下来是什么?好不要忘了什么提交是搞定了吧,这是保存一个播放历史记录吧,保存我们的播放历史记录对吧?然有了过后我们呢,有有铺就是接下来有get了,Get的话,好,那这个时候上下文还需要是k value还需要吗?不需要了,那这个时候是get是吧get。
14:30
好get的话呢,干掉,然后这个时候,这个时候它就直接用它不需要edit了吧,Get我们的啊,Int就是用P,然后。啊就K,然后默认存一个零,是不是就没有的话,就从一个零进去啊好零的话呢,这样子我就把它给捋成。好,那这个时候啊,这个时候返回的是一个什么类型,那这个时候就得到我们的播放的记录好得到播放梯录,得到啊播放梯度对吧,播放的一个位置吧,放位置好那么这个时候我们用这个方法就很爽了吧,好那也就说只要你点确定我就保存。
15:20
是吧,好,另外一个地方就是取好,那我问大家同学们,在我们这个地方里面的话啊,在这个地方里面的话,我们就去记录。然后在这个是系统里面是其另外地方也得记录啊,啊on啊这个on是吧,然后在这个地方里面的话呢,也要去把这个。把它给一点的时候,在这里面去记录下来,对吧,这个就是我们的A,他没有对。好,那这个地方呢,就是。
16:01
啊,它是一个什么类型的,是一个。是一个int类型,我们强走吧,好是int类型把它传进去啊,要把它弄走和int吧,好,那这个时候有了过后呢,我们在地方里面接下来要播起来了。不起来了。啊,播起来了,在。还没有,那么就从哪里找啊,这在哪里啊,你是这里面有个准备好了,那这里面是大的啊好,这个是大的过后我有预留肉,有一个叫玉留肉。它有一个叫set什么,然后catch这工具catch,然后有一个catch进特上下文就是谁呀。Vita。
17:03
点类,然后K的话就是叫什么呀啊勒对了吗?对了对吧,好这个就是这同样在地方里面呢。啊,也要CTO啊好找到设置历史这里,这次能跟得上吧,嗯,一定要跟上,你不跟上的话我就不讲了是吧,好,这个时候就是事实,但是其实我们在做是有问题的,是以后都要去定位到某个位置啊。只要有记录了,就对面的某个位置啊,那么我们应该这样。当他就是一进来是,他就是判断一下是从对方进来,是怎么怎么进来的,要不然你进来所有的都定位是不是有问题啊,所以我们这个时候如果是只要点对话框。是不是要做一个参数啊,好,那么就是on click,这时候我们看看你点对话框进来的,我就标识是。
18:02
是一是一切换这个对话框的,来这里的默认的是为,就是你切换就为啊,然后把它给创建出来。落18,那如果这个为two,我们才切换的好,那假如。以后一旦切好了,要把它变成for。对不对,好,那也就是说我们在这里面一点确定了。然后。啊,就是想想啊,这个因换到另外一个地方去了,是不是啊,那怎么标识是他来自于对话框的素材记啊,这个时候你也得你得判断一下对吧?嗯,在这个地方里面,OK,那就是其实你记录位置对吧。
19:09
应该还记录一个地址区分是播放某一个对吧。啊,你想啊,你如如果你现在在这地方播放了过后,都所有地方都都记入这个位置了,以后所有的播放都从这地方开始了,要区分一下这个意思,怎么区分呢?到时你可以用把那个key变成那个名字就可。对很对,那么我们T我们就不用位置了,用什么。用ul对不对,那用ul的话,那你如果是播放列表,你还是取那个列表对不对。好,那没办法,那咱们也得这么做,是不是,那就这个时候呢,就就就麻烦了。内蒙的话,如果同名呢,对吧,但是我们也得这么做好,那没办法啊media,然后不等于那不等于捺好这个这个,所以你你看这个代码是以前你临时想到的啊,是这现在都考我的什么。
20:13
考我的临时编成的人的,这是很难的,知道吧,没有老师敢这么弄,那你们我就弄一弄是吧,好大于零,那这个时候有了后,我们是要取这个位置,得到这个路径了,好,然后get我们的这是Y接传过来吧,然后在地方里面v.item没点item会有了过后呢,这个时候我们要得到它一个地址为K吧,好,然后以后的话就以这个为K好,那么就是当前位置,这个是不变的,对不对,然后有了过后呢,在地方里面我们去得到它这个K。Get我们的这个这为K啊这么题吧,同样在另外个地方也是要。
21:01
也要是以这个为K吧,好,然后也是在好Q。就切换的对话框里面。喂。在这是吧。然后修的计划里面把它。啊,把它给转略过来,然后改这个变一下就是他的play对不对,好,那这个时候呢,要转换一下准备题吧,好有了过后这时候我们去去准备好的时候。准备好的时候,这个时候就该干嘛。刷去啊好,那么这个时候我们就海到准备好的这里来,是S了,那我们能直接这么S吗?好,那么我们还得去取这个还是mid play,然后它不能等于什么,那对吧,那。
22:04
然后V点它的一个size大于什么零,然后有了过后我就去取某一条那点。就是取K吧,有it有it,然后get我们的,然后得到date,这是个P啊,这没问题吧,然后有了过后我们就要取这个值,这是一个。Key。就是K啊,但是我们这个们其实我们要区分一下,万一得到是零,我们是没必要啊,你的和就是我们哦。历史是怎么写的啊什么对吧,这样吧,哪里有前面是吧,谢谢。
23:17
T,是吧,好,谢谢,那有了过后是有这个了吧,好,那有这个历史过后,如果它是大于零,我们才有必要if,他给我们大于零就临时想到的啊,其实提前都没有好,然后把它给设个two。是这样的啊,大于零啊,你是想的是大于零的进去,好,而且是要这个P存在对吧?好,然后来去做这样的一个事情啊,大于零好,同样这个代码应该也要在。我们的。系统这里也是准备好了这里吧,同样一份代码。
24:03
啊啊,那我又找怎么找啊,这历程对吧,这么去找,那又找到这个来把这个这个Q这个干掉,强调一下是改成是S是不是好,这里是个我们试一试啊。大家想想还有什么问题吗?一起来试一试啊,你看这是临时,你想当你以后多敲代码之后,你就感觉随时写两代码都可以啊,这就是到这种程度的话呢,当然可能会有问题,有问题我们再解决啊。好,那假如说我现在要去波浪。点他。多少?我现在假如说我拖到中间,这时我在切换对不对,好。
25:03
哦,这是列表吧,傻了,你看同学们发现了好UI,这个时候如果他不等于空。等于动这种是不是更更市场我们要走的呀,那我们就怎么做呢,其实就是。还是拷贝这个,当然我就不考虑重构了啊,然后这个把这个K其实就是我们的UI吧。就他呀,那点求出进是这样啊,那就好,那同样的把这个代码。这个代码的时候。也要。好,背到这个里面去吧,是不是好,其实还要有问题。
26:02
就是我们在保存的时候,大家想想是不是也得判断这种情况啊,因为保存也只考虑这种啊。是不是好,这个时候保存在在哪里啊,在大对吧,框去切换的时候,你点的时候是我也是保存这种情况啊,所以也要l if ul I,它不等于,那你会发现你看啊,这个时候是临时写的代码,就是这么写的,对吧,不会不会让提前给你们备好的课,肯定很流畅,其实也在不断的什么修整的啊,明白吧,这就是编程,明白吧,现在我刚才这个过程就是完完整的编程的状态就是这样子的,当然这还是很熟的情况下啊,如果因为这个播放历史咱们玩过好多遍了,以前工作的时候所以随便玩,但是如果是一个新的领域,我也不敢这么做好,那接下来有过后大家看好是这个时候我们就可以。复制。
27:01
以C为K啊,这个时候就变了,对不对,应该是把它为凸吧,凸对不对对吧,好,那接下来还另外一个,另外一个在哪里啊,在现场里面他有个对话框秀。修的一个。第二个对吧,好粘贴好,这个时候呢,谢好大家再看一下一点数,它就会保存当前位置,好运起来,这个时候我们就很完美解决了,你看我们现场研发一功能了,以前班级没有的对吧。好,这个的话呢。我们先一起来。啊,就大。好,刚才是不行的,对吧,因为我们没有我们用的是UR这种情况对不对?好,那我们退出,我现在去点一下。
28:01
好,假如说我们不要中间好,我点确定可以了吧,是不是好,那我们这样同学们我们去试一个到其他有其他视频的模拟器上,这时候呢,假如说统一给我播一半的时候,我再去切换看行不行,那也就是说这个代码的话,咱们是很有意义的,就是。阿福老师,这个代码是没有准备看现场选的,知道吧,以前都是备课,我提前敲了好几遍了后跟你们讲那种,这就是一个状态,知道吧,当你工作几年过后,或者工作一段时间就有有这个状态可以随时写,知道吧,而且没说错对不对,当然你要不断调,你因为思维在构建嘛,所以大家是你会发现代码是边写边修整,边写边修整。知道吧,不是一下子写吧,写好了就修整,不能重构好,那我们看一下同学们,我们地方里面呢,我们去把它运起来。哎呀,这哥们一起来。怎么西装?
29:00
这样我运行在我们的小米上。替换。安装。因为小米的话快一点,大家以后开发都用真机知道吧,好,那我既然用这个的话,我是随便用列表里面的。好,他从头开始吧,我点中间,然后我点切换,是不是接着部啊好啊,当然大家看到模糊,但是在手上不模糊,因为他通这个软件投影过来是又又过了一个一个一个又数据又走了一遍了,所以的话模糊你可以看我真迹很清晰,因为他没有的啊,也不会像这样看的这么模糊,知道吧,但是你看啊,我再点切换。比如说我现在一点,假如说是暂停状态,哎,暂停状态应该暂停状态应该把它隐藏,对吧,大家可以自己做一下,应该把这个停止对吧,但是他一直在跳,好在好。
30:03
我一直点这个确定。是他接着不啊,但是如果我们做得好,如果他是暂停状态,你看你又是暂停状态啊,那这个时候你要记住状态了,这个都不做了啊,再做的话就就做不完了,但是可以做的对吧,但是你看现在我们切换是没问题了,对吧?好,但是我们播下一个,如果再从头开始就不不对了吧,回一个是从头开始了,对的,但这个状态可以更新一下,还没有更新,但我再点,然后拖一半我点切换。是可以接受播啊,是确实是系统的要好一点,那我再点下一个,他确实从头开始对不对,因为这个路径不一样嘛,你看是记记住了吗?播放历史也帮你们搞定了是吧。当然做的好一点,就不是用现在了。就用什么数据库,数据库,数据库知道用啊,那大家可以用一用,到时候啊,你可以用个数据库,然后呢,用数据库还有个好处,就是你播放的信息都可以再次以列表方式呈现出来,是不是,而且你又假如说你播了这个视频,你看一半,假如说你电脑里面你你手机里面你又看了这个,一路向西看了3D路不团,我看了蜜桃,蜜桃成熟,这个时你随便选一个是吧,这个时候就很方便对不对啊,这个电影是比较有名的对吧?当然都是三级片啊好,那同学们,我们接下来呢,好,这个的话现在明白了吧,人为的切换对不对啊,人为切换啊。
我来说两句