surface上面的小接口 Duo 2会配备哪些改进的摄像头技术?

微软在今天的新品发布会上推出了两款商用设备:SurfaceLaptop6商用版和SurfacePro10商用版。其中SurfacePro10商用版专为对性能有着更高要求的团队所打造,相较于前代SurfacePro9速度提升了53%,拥有更强劲的性能、更持久的续航、更出色的显示效果。同时该笔记本还延续了Surface系列的易维修优势,支持更换显示屏、固态硬盘、主板、接口、散热模组、摄像头、支架等几乎所有部件,方便后期维护和升级。...特别声明:本页面标签名称与页面内容,系网站系统为资讯内容分类自动生成,仅提供资讯内容索引使用,旨在方便用户索引相关资讯报道。如标签名称涉及商标信息,请访问商标品牌官方了解详情,请勿以本站标签页面内容为参考信息,本站与可能出现的商标名称信息不存在任何关联关系,对本页面内容所引致的错误、不确或遗漏,概不负任何法律责任。站长之家将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。任何单位或个人认为本页面内容可能涉嫌侵犯其知识产权或存在不实内容时,可及时向站长之家提出书面权利通知或不实情况说明,并提权属证明及详细侵权或不实情况证明(点击查看反馈联系地址)。本网站在收到上述反馈文件后,将会依法依规核实信息,第一时间沟通删除相关内容或断开相关链接。}

项目
07/10/2023
前置摄像头和后置摄像头Surface Duo 对前置摄像头和后置摄像头都使用相同的相机硬件,具体取决于设备状态。 切换摄像头可翻转图像,呈现正确的自拍模式。方向锁定如果应用显示在其中一个屏幕上,另一个屏幕显示的是其他应用(或微软桌面),则请求纵向或横向锁定方向会导致呈现宽屏模式。 如果相机视图处于方向锁定状态且为宽屏模式,则相机视图的旋转与应用不同。 应用可以:显示消息
旋转摄像头
设置方向锁定android:screenOrientation="portrait"
或使用代码:
Kotlin
Java
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
显示消息若要在纵向锁定时显示相机消息,请使用此 PortraitLockHelper 类。 帮助程序类可通过使用侦听器在 onCreate 中进行连接,以在应显示消息时检测状态:portraitHelper = new PortraitLockHelper(this);
portraitHelper.StateListener = new PortraitLockHelper.PortraitStateListener() {
@Override
public void PortraitStateChanged(int state) {
//...
if((state & PortraitLockHelper.PORTRAIT_STATE_LETTERBOXED_90) > 0 ){
if(showRotationMessage){
rotationMessageView.setVisibility(View.VISIBLE);
}
//...
}
}
有关完整实现,请参阅 GitHub 上的相机示例代码。旋转摄像头还可使用 PortraitLockHelper 类 来检测设备旋转,并旋转相机数据流以使其匹配。 要实现此操作,需要确保使用 TextureView,而不是 SurfaceView 作为预览区域。 可转换 TextureView,例如使用 textureView.setRotation(90) 旋转摄像头 90 度,然后使用 setScaleX 和 setScaleY 更新纵横比,以适应旋转后的屏幕尺寸。在相机示例代码中中,以下转换值用于每个设备状态:州省/自治区/直辖市
旋转摄像头
缩放 X 轴
缩放 Y 轴
default
0
1
1
翻转
0
1
1
跨区
90
4/3
4/3
宽屏模式 90
90
4/3
4/3
宽屏模式 270
270
4/3
4/3
示例代码包含用于启用或禁用旋转的按钮。 若要了解适应每个设备状态所需的代码,请参阅 PortraitStateListener 实现。无方向锁定的大小可调相机如果应用不需要锁定方向,则可使用旋转摄像头时所用的代码。 请参阅上面的旋转摄像头部分。若要确保没有方向锁定,请使用以下代码:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
CameraX如果你要构建一个新应用或计划升级相机代码,则采用 CameraX API 将为你打下新的基础。 Google 提供的 GitHub 上的 CameraXBasic 示例在 Surface Duo 上运行得非常好,但有两处代码需要稍作调整,以改善用户体验:AndroidManifest.xmlandroid:configChanges="orientation|screenLayout|screenSize|smallestScreenSize"
MainActivity. ktoverride fun onWindowFocusChanged(hasFocus: Boolean) {
super.onWindowFocusChanged(hasFocus)
if(hasFocus){
container.postDelayed({
container.systemUiVisibility = FLAGS_FULLSCREEN
}, IMMERSIVE_FLAG_TIMEOUT)
}
}
当跨屏和取消跨屏显示应用时,以及在相机应用和另一个屏幕上的任何内容之间移动焦点时,这些小更新可以提供更流畅的体验。示例相机示例 & 博客文章
CameraX API 参考
CameraXBasic
}

我要回帖

更多关于 surface上面的小接口 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信