大家好,今天来为大家解答tiktok滑动卡点这个问题的一些问题点,包括怎样在切入切出虚拟摄像头时营造卡顿效果也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

刷抖音用英文怎么说
刷抖音用英文这么说:browseTiktok
“刷”这个动作和我们的生活息息相关。在学校,你可能需要刷饭卡,有时到银行,只有刷卡进门禁,才能取现金。坐公交地铁,你需要刷卡。稍微消停点,抓紧时间刷刷抖音微博朋友圈,才能感到片刻的放松。
“刷”这个一个中文字,就概括了我们大多数人一天中一半的活动,那这个“刷”字,究竟用怎样的英文表达才地道呢?今天我们就来看一下“刷”在不同场景下的地道表达。
1.刷卡的“刷”用swipe
使用场景:公司,超市,商场,健身房,各种娱乐场所,POS机等将银行卡/会员卡/门禁卡从上往下一“刷”,牛津词典对于swipe的第一层解释:
passthecardthroughaspecialmachine(把卡插入特殊机器刷一下)。
Example:Theyuseaswipecardtogoinandoutoftheiroffices.他们出入办公室要刷卡。
2.用手“刷”屏幕
牛津词典对于swipe的第二层解释:moveyourfingeracrossthescreen
使用场景:“滑动解锁”swipe(slide)tounlock
3.刷公交卡、地铁卡的“刷”用tap
Tap:tohitsth./sb.quicklyandlightly。即“轻敲、轻拍、轻叩”。
4.刷抖音,刷微博,刷朋友圈的“刷”用browse、beaddictedto、或spendtimeonsth.;
IambrowsingWeibo.(即“我正在浏览微博”。)
ManypeopleareaddictedtoTikToc.很多人都喜欢刷抖音。
HespentthewholeafternoononWeChatMoments.
他刷了一下午的微信朋友圈。(即“把一下午时间花在朋友圈上”。)
5.刷剧的“刷”用bingewatching
怎样在切入切出虚拟摄像头时营造卡顿效果
背景介绍:本人原先是android逆向工程师,后来因为工作变动,离开了协议分析这类的岗位,目前在做直播机与第三方应用兼容性分析相关分析,所以就有了这篇兼容性分析文章。
问题:tiktok在我们推流设备直播时,经过几个特定步骤后切换前后置摄像头会出现卡住的问题。
重现步骤:直播界面打开更多菜单->然后退到后台->回到前台->切换前后置菜单。
现象:直播画面卡住不动了。
解决思路:找到点击切换按钮后的点击事件回调,找到切换摄像头的核心逻辑,来找到卡住原因。
1、如果了解ART虚拟机的同学会知道,jni函数和java函数都会调用到art虚拟机ArtMethod的Invoke函数。

输出日志:
findtargetmethod:android.view.View.performClick
ArtMethodInvoke【22955】:;lr:0x4af78c;libart.so:android.view.View.performClick
ArtMethodInvoke【22955】:;lr:0x2e2800;libart.so:java.lang.Enum.toString
ArtMethodInvoke【22955】:;lr:0x2e2800;libart.so:X.Ggh.LIZ
ArtMethodInvoke【22955】:;lr:0x2e2800;libart.so:java.util.LinkedHashMap.<init>
ArtMethodInvoke【22955】:;lr:0x2e2800;libart.so:java.util.HashMap.putAll
ArtMethodInvoke【22955】:;lr:0x2e2800;libart.so:java.util.HashMap.put
ArtMethodInvoke【22955】:;lr:0x2e2800;libart.so:X.DED.LIZ
ArtMethodInvoke【22955】:;lr:0x2e2800;libart.so:X.D5k.onClick
通过fridahooklibart.so的ArtMethod的Invoke函数,我们找到了点击事件的回调类X.D5k.

找到这个类对应的onClick函数后,我对整个流程做个简单的研读,感觉发现了核心代码在注释直播流处理。

跟着核心代码一路往下找到LiveCore这应该就是直播的核心代码,其实现类为LiveCoreImpl,ILiveStream的实现类为LiveStream。


发现此处只是做了日志信息的合成和应用镜像之类的代码,但是又找到一个核心的类LiveStreamVideoCapture。

追踪到这里发现链路断了,又凑巧通过frida打开tiktok卡死在启动页上,那么接下来使用Xposed继续理流程。
上面的代码虽然没有追中到切换摄像头的核心逻辑,但是我们找到了两个核心逻辑的类LiveStreamVideoCapture和LiveCoreImpl,分别和直播视频流控制直播核心流程控制相关,所以Xposed继续走的时候以这两个类为重点,那么此处就开始放大招了,hook这两个类的所有函数,贴上代码。注意这里使用的classloader是application的classloader。


日志太多了,这里通过shell命令setprop做了个日志控制。



然后找到CameraVideoCapturer类的tryDeliverFrame,这里是处理相机的视频帧,感觉越来越接近真相了,继续hook这个方法,然后发现相机切换卡住以后,这个方法也停止调用了,那么没办法,继续往上找堆栈中run方法的调用调用处。

继续hook。


找到这个类。

至此,熟悉相机开发的同学应该知道,这就是SurfaceTexture.setOnFrameAvailableListener后,相机的可用帧会回调到这个函数,切换相机后卡顿,可用帧也同时不回调。
接下来hook原生相机。



调用的是android.hardware.Camera,也就是camera1相关的api,切换卡顿的时候并没有调用Camera.open函数。


首次开直播的时候调用了这两个函数,点击切换相机的时候并没有调用,在X.HCF这个类里找到switchCamera函数,那么猜测首次开相机,和切换前后相机走的并不是同一个流程,因为这个bug只有在切换相机时才会出现,所以我们就不关注首次开相机的流程。


果然,切换相机的时候走了这个流程,这是又发现了LiveStreamVideoCapture这个核心类,那么简单进去看看SwitchCaptureRunnable这个有没有被创建。


经过测试,发现这个类只会被创建一次,而run方法每次切换都会被调用,而且卡住的情况下也会被调用,那么结合上面Camera.open卡住时没有调用,可以大胆的猜测中间过程某个条件不满足被return了。根据堆栈信息继续往下找几个关键点。


发现CameraVideoCapture里也有切换相机的流程,切一步步往下走,能调用到上面我们hook过的X.HCF的switchCamera,那么我们就看看这里的switchCamera有没有调用吧。
•情况一:先滑动直播界面,再按home键,然后回到tiktok,再切换相机,此时status()函数返回1,走了后续Camera.open流程。


•情况二:先滑动界面,再切换相机,然后按home键,接着回到tiktok,最后切换相机,此时status()函数返回2,没走后续Camera.open流程。

从日志看switchCamera两种情况都走了,再结合switchCamera的源码看,源码里的status()函数的返回值决定了是否继续往下调用切换相机的流程,很遗憾的是,两种情况都出现了,而且都会卡住(为什么两个status值会不一样呢,这里先留个坑,最后来填)。这可把我难住了!
就在这时脑子突然开窍,既然画面卡住,那么必然有错误信息回调,果然一搜索CameraVideoCapture这个核心类有onError函数,毫不犹豫hook它,发现每次出错时,这个函数的错误码都会报-421错误(截图省略-421错误码的测试过程)。


错误信息非常明确的告诉我们是因为相机不支持缩放,导致的打开相机失败,那么至此相机卡住的直接原因找到了,但是还没找到为什么特殊的操作流程后会卡住,而正常的操作不会。于是乎继续跟着堆栈信息往上找。

发现走进了这里的流程,导致的相机进缩放流程,为了验证猜想,我决定在这个函数调用前,把message里的what字段改成2,让它不走这个流程,来看看是不是就不会导致界面卡住,于是就有了下面这段代码。

经过这一番篡改,果真随便怎么折腾,直播界面都不会卡住了。那么我只要找到那里给handler发送的这个message就应该离真想很近了。


然后找这个handler的sendMessage相关切message的what字段赋值为1的函数。

然后我找到了它,这个函数还和缩放相关,那就八九不离十了。


按之前的堆栈继续hook,发现卡住的时候这些方法确实都走了,而正常的时候是不走的,那么在X.Dvc的LIZ继续用抛堆栈大法。
得到如下两种堆栈:
•X.DCM接收到了touch事件,然后交由X.DCc这个类进行手势判断,发现是需要执行缩放的手势,于是执行了相机的缩放功能(由于我们业务原因需要隐藏底部NavigationBar,在Window底部上划会显示NavigationBar,上划的手势同时触发了控件的以为需要执行相机缩放),但是我们的虚拟摄像头又不支持缩放,导致打开相机失败,画面就卡在了之前相机拿到的最后一帧。

X.DCc类

X.DCO的invoke方法

•点击tiktok的切换相机Button,触发进入相机的缩放,这里就和我们之前的点击事件联系上了,红框部分就是补上了之前没关注但是最重要的相机缩放功能判断部分。


至此,我们已经把相机卡住的直接原因和根本原因都找到了,先手势再点击切换相机触发了进入相机缩放功能判断流程,由于我们的虚拟相机不支持缩放,导致打开相机失败,卡在相机的最后一帧(也可能是黑屏)。所以只要交付给framework组开发人员,让他们支持相机缩放相关功能就可以了。
接下来来填前面留下的坑,为什么退到后台会导致status函数的返回值不一样?
我们回到CameraVideoCapturer类,看看这个status()函数到底是个什么鬼!

发现他是父类ExternalVideoCapturer的函数,而且就是返回个字段,那再看看他那里进行了赋值。

通过AndroidStudio自带的字段读写索引功能,很容易找到父类里的start、stop和release函数,以及自身的onErrorOnHandler函数里(也就是我们之前抛-421错误堆栈的函数)。如果熟悉相机开发的同学应该知道,一般我们界面退到后台会释放相机,然后回到前台重新打开。那么接下来我们把这几个函数都hook一下,来验证猜想。

这里我多hook了一个onCaptureStarted函数,这个函数会调用父类的onStart函数,想看看是否会有调了onCaptureStarted但是没调父类的onStart的情况。然后还hook了CameraVideoCapturer自身重写的onStart和父类ExternalVideoCapturer的onStart函数。
下面是刚打开直播时的日志,此时status=1。

•情况一:先滑动直播界面,再按home键,然后回到tiktok,再切换相机,此时status()函数返回1,走了后续Camera.open流程。
这是直播退到后台时的调用,说明确实释放掉了,但是又调用了父类的onStart函数,那么此时的应该为2的status又变回了1。

接下来回到前台,此时一切正常status还是为1,而且重走了自身的onStart函数,相当于相机整个流程完全重开。

再接着切换相机第一次,这时的status还是为1,相机正常,紧接着我们发现了-421错误,发现又重走了父类的onStart函数,那么此时status还是1。

接下来切换相机画面卡住了,但还是走了父类的onStart。


以上就是第一种情况,由于每次切换相机都会抛完-421错误后,再调用父类ExternalVideoCapturer的start函数来重置status,也就造成了能调用Camera.open但是画面卡住的情况。
•情况二:先滑动界面,再切换相机,然后按home键,接着回到tiktok,最后切换相机,此时status()函数返回2,没走后续Camera.open流程。
前面流程就不贴了,直接开后面的流程记录。
退到后台status=1

回到前台status=1

切换相机第一次,画面正常status=1

切换相机第二次,在调用switchCamera之前先抛了一次-421的错误,导致status=2,然后switchCamera函数里判断status为2就被return,没有调用Camera.open函数,接下来也没有更多函数来重置status的状态,所以无论怎么切换相机,都无法执行到Camera.open(),除非tiktok退到后台,再回到前台。


以上就是第二钟情况。
英国留学有什么软件推荐
在英国留学怎么能少的了软件呢,现在信息时代这么发达,很多数人都是选择上网解决问题,比如购物,打车,外卖等等,上网确实给我们的生活带来了许多便利,因此在国外生活各类软件是必不可少的,下面我整理搜集了一些在英国比较火的软件,下面和我一起来看看吧。
英国留学有什么软件推荐App一共有七种类型的推荐,如下:
外卖类FoodDelivery
交通类Transport
金融类Finance
娱乐类Entertainment
社交类Social
约会交友类Dating
生活出行类Travel&lifestyle
租房类Rent
一、外卖类
1)UberEats
使用率最高的外卖平台之一,菜系齐全,种类繁多。专业骑手配送,让家附近的美食触手可及。app上的活动区经常有满减或者免费送的活动。
2)Deliveroo
Deliveroo类似于优步,也是使用率最高的外卖平台之一,为英国。每周一到周三都有20减5的活动。菜品齐全,折扣力度大,app上还有便利店果蔬杂货配送服务。
3)JUSTEAT
Juiet平台上的餐厅大多是只提供外卖服务的专业餐厅。菜品种类很多,主要有意大利菜、印度菜、墨西哥菜和中餐,可以上门配送。
4)HungryPanda
熊猫外卖就是为了满足英国朋友的亚洲胃而量身定制的。几乎所有商家都以伦敦中国城入驻,除了中餐,还有韩餐和日餐。还有中超和中药房提供外卖送餐服务。
5)Domino'sPizza
爱吃披萨的朋友不可或缺的app,各种套餐,优惠巨大,送货快捷。app和官网上都有各种打折券,比如买一送一,半价优惠等。朋友下单的时候别忘了用。营业时间太长,订单凌晨就能送到。
6)FoodHub
这两年有相当多的亚洲餐厅入驻新的外卖软件。现在报名有很多优惠,想体验不同外卖口味的朋友可以下载试试
二、金融类
1)PayPal
PayPal可以绑定国内信用卡,记住后不需要再次输入卡信息。直接跳转到PayPal进行网购,非常方便。也可以用来在小伙伴之间转账。
2)Monzo
Monzo是英国的电子银行,注册没有审核,不像实体银行有很多限制。建议大家英国后办理一张Monzo卡和磷卡,可以用于非接触式支付。直接用交通工具刷,非常方便。
3)Starling
Starling也是一家英国的电子银行。可以在app里申请,很快就能拿到卡。在app里可以准确的看到自己每个月每个品类的消费情况,方便记账。
4)Wise(Transferwise)
交换好帮手。Wise(Transferwise)可以在全球18种货币之间兑换,汇率超级实惠。目前只支持英镑兑人民币,不支持人民币兑英镑。Wise也是电子银行,可以办理实体卡。
5)各大银行app
像HSBC,NatWest,Barclays,Lloyds,Santander等银行都有自己的手机银行app。转账看账单十分方便,办卡必备。
三、娱乐类
1)Netflix
追剧很有必要。除了网飞长时间等待小伙伴追剧,所有剧集都是一次更新。上面有很多种剧,除了欧美剧,在韩综和大陆剧里都能看到。
2)Spotify
免费听歌和播客的必备应用。学生可以购买学生套餐,享受每月折扣。量身定制的播放列表,让你听到的每一首歌都戳中你的心。
3)amazonprimevideo
当您购买亚马逊prime时,您将自动享受primevideo上的免费电影。除了很多经典剧之外,还有《Fleabag》、《来自环线的故事》、《了不起的麦瑟尔夫人》等高评分原著,非常推荐。
四、社交类
1)Instagram
Instagram的功能已经越来越强大。从最早的方形照片和滤镜,已经衍生出了InstaStory。一天24小时都能看到,而且都是动态的,分享起来更方便。还有各种滤镜和互动动态可以尝试
2)TikTok
TikTok已经遍布全球,英国也不例外。下载抖音看看英国人怎么玩小视频。从旅游、时尚、运动、美食到有趣的视频,朋友们可以在抖音上观看社区新闻或上传自己的内容来获得粉丝。
3)Snapchat
社交软件流行有趣的过滤器。这样做的好处是,你可以制作自己的虚拟3D图像在应用程序中使用,或者你也可以尝试自己制作滤镜。因为设计功能大于社交功能,所以用户使用率在逐渐降低。
4)Whatsapp
Whatsapp相当于英国版的微信,基本上需要学生创建群。功能单一,以聊天和发信息为主,主要用于比较正式的商务或学习场合。联系在校留学生的必备app。
5)Twitch
游戏爱好者必备的聊天app。app内的游戏视频垂直整个社区,几乎涵盖了市面上所有的游戏种类。
五、约会交友类
1)Tinder
Tinder是世界上使用最广泛的约会应用程序,它根据用户的位置将其他用户推送到附近。使用起来非常简单,左右滑动即可匹配。成功的用户可以进入在线聊天界面。注意,Tinder用户的朋友范围很广,线下见面前要了解清楚。
是比较正规的交友网站,用户倾向于寻找恋爱或结婚对象。一站式服务平台,除了帮你找到心仪的对象,还有一系列的交友活动推荐和专为单身人士设计的交友活动。
6、生活出行类
1)Tripadvisor
英国各大大众点评app。Tripadvisor有旅行者分享的各种旅行小贴士、景点推荐、防雷保护,帮助你制定旅行计划。还可以购买机票订酒店,是旅行必备app。
2)Yelp
Yelp类似Tripadvisor,更注重本地和附近地区的大众点评。帮你找到大家都说好的餐厅和店铺。也有外卖,搬家,家政,和美容美发店铺入驻,绝对是生活上的好帮手。
3)OpenTable
很多英国餐厅都需要提前预定,OpenTable可以帮你搜索和预定心仪的餐厅。尤其预定星级米其林和高档餐厅,OpenTable必不可少。
4)Eventbrite
Eventbrite告诉你附近即将发生的大大小小的娱乐活动,社交酒会及工作坊。根据你的个人兴趣推送,一键预约、订票十分方便。需要留意的是因为Eventbrite是任何人都可发起上传活动的,所以有些信息不是最更新的状态,预定前需要二次检查。
5)Booking
Booking可以预定酒店,民宿,酒店公寓,甚至汽车旅馆。你想要的出行住宿方案他都有。Booking使用会员制,预定次数越多,会员折扣越高。
七、交通类
1)Uber
出租鼻祖,曾经入过中国,大家应该都听说过。根据需求随时随地叫车。该服务覆盖英国19个地区和城市,包括伦敦、曼彻斯特、格拉斯哥和爱丁堡。如果小伙伴在优步没有覆盖的小城市,打车出行也不是不行,可以拨打当地的打车热线叫车。
2)Bolt
Bolt和Uber类似,属于共享出租app。£2.50起步费,每英里£1.25外加每等待分钟15p,价格比Uber更实惠,官方还经常会分享折扣码。
3)FREENOW
FREENOW可在包括英国在内的欧洲九个国家通行,推荐给需要预定接送机的小伙伴。FREENOW可提前四天预定接送机服务,服务范围涵盖欧洲的各大主要机场。
4)Gett
商务用车推荐app,省时好用。可在伦敦,曼彻斯特,爱丁堡,格拉斯哥等25个英国主要城市使用。和Uber不同的是Gett采用经典出租车服务模式,没有峰值定价,价格相对更合理。
5)Lime
Lime有点像国内的摩拜和ofo,是有显眼荧光绿标志的环保共享单车和电动滑板车app。上车扫二维码,走哪停哪很方便,堵车时间也畅通无阻。
抖音视频剪辑怎么做
可以在视频拍摄上传的页面中进行剪辑,具体的方法如下:
手机:苹果7
系统:ios13.3
软件:抖音版本9.6.1
1、打开抖音APP后,点击抖音下方的“+”,然后进入到视频拍摄上传的页面。
请点击输入图片描述
2、在视频拍摄上传的页面,我们点击右下角的“上传”,上传手机内拍好的视频。
3、在上传视频的页面,我们点击左下角“多段视频”。
4、点击选择“多段视频”后,我们就可以选择多段视频进行上传了。
5、上传多段视频后,我们看到视频剪辑内的“音乐卡点”。在“音乐卡点”的选项内,我们选择卡点的音乐,然后选择“调整视频片段”。
6、在“调整视频片段”内,我们选择左下角的“一键调整”来调整视频。
7、我们可以看到,在小编点击了“一键调整”后,抖音对视频进行“已智能选取精彩片段”。
8、我们也可以自主对多段视频进行调整;点击单段视频,进行视频的剪辑操作。
9、我们可以“左右拖动选取片段”对视频进行剪辑,剪辑完成后点击右下角的“√”即可。
10、分别剪辑好多个单段视频之后,我们点击右侧的“完成”。
11、在普通模式下,刚刚我们选择的两段视频直接合并在一起,只是简单的多段视频的合并,可拖动选取合并后的时间进度。完成普通模式下的视频剪辑,我们选择下一步即可。
12、最后,我们将编辑好的剪辑合成视频发布出去就可以了。
注意事项:如果你要保存你剪辑的视频,可以勾选右下角的【保存本地】,到时就可以从手机查看剪辑后的视频了。
好了,文章到此结束,希望可以帮助到大家。
