在 Quickblox 中,我们如何在 Android 应用程序 (QBRTCSurfaceView) 中旋转视频(例如 90 度)?
Posted
技术标签:
【中文标题】在 Quickblox 中,我们如何在 Android 应用程序 (QBRTCSurfaceView) 中旋转视频(例如 90 度)?【英文标题】:In Quickblox, how can we rotate a video (90 degrees, for example) in Android app (QBRTCSurfaceView)? 【发布时间】:2017-07-06 20:05:32 【问题描述】:我们正在使用 Quickblox 流式传输视频聊天,我们希望能够旋转它(90、180、270 度)。
在 ios SDK 中这似乎是可能的,但在 android 中似乎没有设置。我们如何解决这个问题并显示旋转的视频?谢谢!
【问题讨论】:
【参考方案1】:您可以使用 View 方法:void setRotation(浮动旋转),如下所示:
your_vide_view.setRotation(90f);
or
your_vide_view.setRotation(180f);
or
your_vide_view.setRotation(270f);
此方法适用于 sdk >15
你也应该添加这个条件:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
your_vide_view.setRotation(180f);
【讨论】:
【参考方案2】:这可能为时已晚,但是对于任何想知道如何旋转视频视图的人来说,您可以获取视频轨道并调用 addSink() 函数来检索每一帧。然后,您可以旋转帧并在视频视图上调用 onFrame() 函数。请在下面找到示例代码。
在添加以下代码之前删除任何渲染器,也不要添加任何渲染器,因为下面的代码会这样做。
localVideoTrack?.track?.addSink videoFrame->
localVideoView.onFrame(VideoFrame(videoFrame.buffer, 90, -1))
【讨论】:
以上是关于在 Quickblox 中,我们如何在 Android 应用程序 (QBRTCSurfaceView) 中旋转视频(例如 90 度)?的主要内容,如果未能解决你的问题,请参考以下文章