{"id":2043,"date":"2022-11-25T18:00:55","date_gmt":"2022-11-25T10:00:55","guid":{"rendered":"https:\/\/app.applebyme.cn\/cloud\/appshangjia\/2043.html"},"modified":"2022-11-25T18:00:55","modified_gmt":"2022-11-25T10:00:55","slug":"%e5%b0%8f%e7%b1%b3%e5%bc%80%e5%8f%91%e5%b9%b3%e5%8f%b0-mix%e5%89%8d%e7%bd%ae%e6%91%84%e5%83%8f%e5%a4%b4%e9%80%82%e9%85%8d%e8%af%b4%e6%98%8e","status":"publish","type":"post","link":"https:\/\/app.applebyme.cn\/cloud\/appshangjia\/2043.html","title":{"rendered":"\u5c0f\u7c73\u5f00\u53d1\u5e73\u53f0 MIX\u524d\u7f6e\u6444\u50cf\u5934\u9002\u914d\u8bf4\u660e"},"content":{"rendered":"<p><span class=\"wpcom_tag_link\">\u5c0f\u7c73\u5f00\u53d1\u5e73\u53f0<\/span> MIX<span class=\"wpcom_tag_link\">\u524d\u7f6e\u6444\u50cf\u5934<\/span>\u9002\u914d\u8bf4\u660e<\/p>\n<h2 id=\"_0\">1. \u80cc\u666f<\/h2>\n<p>\u7531\u4e8eMIX\u7cfb\u5217\u624b\u673a\u7684\u524d\u7f6e<span class=\"wpcom_tag_link\">\u6444\u50cf\u5934<\/span>\u5728\u5c4f\u5e55\u53f3\u4e0b\u89d2\uff0c\u4f7f\u7528\u524d\u7f6e\u6444\u50cf\u5934\u9700\u8981\u5c06\u624b\u673a\u5012\u8fc7\u6765\uff0c\u6240\u4ee5\u9700\u8981\u5e94\u7528\u5f00\u53d1\u8005\u5728\u7528\u5230\u524d\u7f6e\u76f8\u673a\u7684\u9875\u9762\u628a\u76f8<a href=\"https:\/\/app.applebyme.cn\/shengcheng-87.html\">APP\u81ea\u52a8\u751f\u6210\u5e73\u53f0<\/a>\u673a\u753b\u9762\u548cUI\u90fd\u5012\u8f6c\u8fc7\u6765\u3002<\/p>\n<h2 id=\"_1\">2. Activity\u9002\u914d\u65b9\u6cd5<\/h2>\n<p>MIX\u7cfb\u5217\u624b\u673a\u652f\u6301\u9875\u9762180\u5ea6\u65b9\u5411\u5012\u8f6c\uff0c\u53ea\u9700\u914d\u7f6esensorPortrait\u5c5e\u6027\u5373\u53ef\u3002<\/p>\n<h3 id=\"_1_0\">2.1. \u76f4\u63a5\u5728AndroidManifest.xml\u91cc\u9762\u914d\u7f6e<\/h3>\n<p>\u793a\u4f8b\u5982\u4e0b\uff1a<strong>AndroidManifest\u914d\u7f6e<\/strong><\/p>\n<figure class=\"wp-block-table\">\n<table>\n<tbody>\n<tr>\n<td><code>&lt;activity android:name=<\/code><code>\".MainActivity\"<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>android:screenOrientation=<\/code><code>\"sensorPortrait\"<\/code><code>&gt;<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>&lt;intent-filter&gt;<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>&lt;action android:name=<\/code><code>\"android.intent.action.MAIN\"<\/code>&nbsp;<code>\/&gt;<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>&lt;category android:name=<\/code><code>\"android.intent.category.LAUNCHER\"<\/code>&nbsp;<code>\/&gt;<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>&lt;\/intent-filter&gt;<\/code><code>&lt;\/activity&gt;<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<h3 id=\"_1_1\">2.2. \u5728\u4ee3\u7801\u91cc\u9762\u914d\u7f6e<\/h3>\n<p>\u4ee3\u7801\u793a\u4f8b\u5982\u4e0b\uff1a<strong>\u4ee3\u7801\u914d\u7f6e\u65b9\u6cd5<\/strong><\/p>\n<figure class=\"wp-block-table\">\n<table>\n<tbody>\n<tr>\n<td><code>@Override<\/code><code>protected<\/code>&nbsp;<code>void<\/code>&nbsp;<code>onCreate(Bundle savedInstanceState) {<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>super<\/code><code>.onCreate(savedInstanceState);<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>setContentView(R.layout.activity_main);<\/code><code>}<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<h2 id=\"_2\">3. Camera Device\u9002\u914d\u65b9\u6cd5<\/h2>\n<h3 id=\"_2_0\">3.1.&nbsp;UI\u4e0a\u7ed9\u7528\u6237\u4ee5\u9002\u5f53\u7684\u63d0\u793a\uff0c\u5f15\u5bfc\u7528\u6237\u5012\u7f6e\u624b\u673a<\/h3>\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/wiki.n.miui.com\/download\/attachments\/99135092\/image2018-11-29_16-6-5.png?version=1&amp;modificationDate=1543478561000&amp;api=v2\" alt=\"\u5c0f\u7c73\u5f00\u53d1\u5e73\u53f0 MIX\u524d\u7f6e\u6444\u50cf\u5934\u9002\u914d\u8bf4\u660e\" \/><img decoding=\"async\" class=\"j-lazy\" src=\"https:\/\/www.yimenapp.com\/kb-yimen\/wp-content\/themes\/justnews\/themer\/assets\/images\/lazy.png\" data-original=\"https:\/\/wiki.n.miui.com\/download\/attachments\/99135092\/image2018-11-29_16-6-5.png?version=1&amp;modificationDate=1543478561000&amp;api=v2\" alt=\"\u5c0f\u7c73\u5f00\u53d1\u5e73\u53f0 MIX\u524d\u7f6e\u6444\u50cf\u5934\u9002\u914d\u8bf4\u660e\" \/><\/figure>\n<h3 id=\"_2_1\">3.2.&nbsp;\u7ed3\u5408\u5c4f\u5e55\u663e\u793a\u65b9\u5411\u6765\u8bbe\u7f6eCamera\u7684\u663e\u793a\u65b9\u5411<\/h3>\n<p>\u4e3b\u8981\u662f\u8c03\u7528Camera\u4e2d\u7684setDisplayOrientation\u63a5\u53e3<strong>\u4ee3\u7801\u914d\u7f6e\u65b9\u6cd5<\/strong><\/p>\n<figure class=\"wp-block-table\">\n<table>\n<tbody>\n<tr>\n<td><code>final<\/code>&nbsp;<code>void<\/code>&nbsp;<code>setDisplayOrientation(<\/code><code>int<\/code>&nbsp;<code>degrees);<\/code><code>\/\/ Set the clockwise rotation of preview display in degrees.<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u793a\u4f8b\uff1a<\/p>\n<p><strong>\u4ee3\u7801\u914d\u7f6e\u65b9\u6cd5<\/strong><\/p>\n<figure class=\"wp-block-table\">\n<table>\n<tbody>\n<tr>\n<td><code>public<\/code>&nbsp;<code>static<\/code>&nbsp;<code>void<\/code>&nbsp;<code>setCameraDisplayOrientation(Activity activity,<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>int<\/code>&nbsp;<code>cameraId, android.hardware.Camera camera) {<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>android.hardware.Camera.CameraInfo info =<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>new<\/code>&nbsp;<code>android.hardware.Camera.CameraInfo();<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>android.hardware.Camera.getCameraInfo(cameraId, info);<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>int<\/code>&nbsp;<code>rotation = activity.getWindowManager().getDefaultDisplay().getRotation();<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>int<\/code>&nbsp;<code>degrees =&nbsp;<\/code><code>0<\/code><code>;<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>switch<\/code>&nbsp;<code>(rotation) {<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>case<\/code>&nbsp;<code>Surface.ROTATION_0: degrees =&nbsp;<\/code><code>0<\/code><code>;&nbsp;<\/code><code>break<\/code><code>;<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>case<\/code>&nbsp;<code>Surface.ROTATION_90: degrees =&nbsp;<\/code><code>90<\/code><code>;&nbsp;<\/code><code>break<\/code><code>;<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>case<\/code>&nbsp;<code>Surface.ROTATION_180: degrees =&nbsp;<\/code><code>180<\/code><code>;&nbsp;<\/code><code>break<\/code><code>;<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>case<\/code>&nbsp;<code>Surface.ROTATION_270: degrees =&nbsp;<\/code><code>270<\/code><code>;&nbsp;<\/code><code>break<\/code><code>;<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>}<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>int<\/code>&nbsp;<code>result;<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>if<\/code>&nbsp;<code>(info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>result = (info.orientation + degrees) %&nbsp;<\/code><code>360<\/code><code>;<\/code><code>&nbsp;&nbsp;&amp;<a href=\"https:\/\/app.applebyme.cn\/shengcheng-4.html\">\u591a\u529f\u80fdapp\u751f\u6210\u5668<\/a>nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>result = (<\/code><code>360<\/code>&nbsp;<code>- result) %&nbsp;<\/code><code>360<\/code><code>;&nbsp;<\/code><code>\/\/ compensate the mirror<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>}&nbsp;<\/code><code>else<\/code>&nbsp;<code>{&nbsp;<\/code><code>\/\/ back-facing<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>result = (info.orientation - degrees +&nbsp;<\/code><code>360<\/code><code>) %&nbsp;<\/code><code>360<\/code><code>;<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>}<\/code><code>&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code>camera.setDisplayOrientation(result);<\/code><code>}<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>\u53ef\u4ee5\u5728OrientationListener.onOrientationChanged(int orientation)\u56de\u8c03\u4e2d\u8fdb\u884ccheck\uff0c\u5982\u679cdisplay\u7684rotation\u4e0e\u4e4b\u524d\u4e0d\u540c\uff0c\u5219\u6267\u884c\u4e0a\u8ff0\u64cd\u4f5c\uff0c\u91cd\u65b0\u8bbe\u7f6eCamera\u7684\u663e\u793a\u65b9\u5411\u3002<\/p>\n<p>Jpeg\u62cd\u7167\u65b9\u5411(\u901a\u8fc7Camera\u7684Parameters.setRotation\u8bbe\u7f6e\u7684rotation)\u4e0e\u5c4f\u5e55\u662f\u5426\u7ffb\u8f6c\u663e\u793a\u65e0\u5173\uff0c\u7ef4\u6301\u539f\u6709\u903b\u8f91\u5373\u53ef\u3002<\/p>\n<p>\u7f16\u8f91\uff1ayimen\uff0c\u5982\u82e5\u8f6c\u8f7d\uff0c\u8bf7\u6ce8\u660e\u51fa\u5904\uff1ahttps:\/\/www.yimenapp.com\/kb-yimen\/12618\/<\/p>\n<p>\u90e8\u5206\u5185\u5bb9\u6765\u81ea\u7f51\u7edc\u6295\u7a3f\uff0c\u5982\u6709\u4fb5\u6743\u8054\u7cfb\u7acb\u5220<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5c0f\u7c73\u5f00\u53d1\u5e73\u53f0 MIX\u524d\u7f6e\u6444\u50cf\u5934\u9002\u914d\u8bf4\u660e1. \u80cc\u666f\u7531\u4e8eMIX\u7cfb\u5217\u624b\u673a\u7684\u524d\u7f6e\u6444\u50cf\u5934\u5728\u5c4f\u5e55\u53f3\u4e0b\u89d2\uff0c\u4f7f\u7528\u524d\u7f6e\u6444\u50cf\u5934\u9700\u8981\u5c06\u624b\u673a\u5012\u8fc7\u6765\uff0c\u6240\u4ee5\u9700\u8981\u5e94\u7528\u5f00\u53d1\u8005\u5728\u7528\u5230\u524d\u7f6e\u76f8\u673a\u7684\u9875\u9762\u628a\u76f8\u673a\u753b\u9762\u548cUI\u90fd\u5012\u8f6c\u8fc7\u6765\u30022. Activity\u9002\u914d\u65b9\u6cd5MIX\u7cfb\u5217\u624b\u673a\u652f\u6301\u9875\u9762180\u5ea6\u65b9\u5411\u5012\u8f6c\uff0c\u53ea\u9700\u914d\u7f6esensorPortrait\u5c5e\u6027<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[548,824,1382],"class_list":["post-2043","post","type-post","status-publish","format-standard","hentry","category-appshangjia","tag-548","tag-824","tag-1382"],"_links":{"self":[{"href":"https:\/\/app.applebyme.cn\/cloud\/wp-json\/wp\/v2\/posts\/2043","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/app.applebyme.cn\/cloud\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/app.applebyme.cn\/cloud\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/app.applebyme.cn\/cloud\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/app.applebyme.cn\/cloud\/wp-json\/wp\/v2\/comments?post=2043"}],"version-history":[{"count":0,"href":"https:\/\/app.applebyme.cn\/cloud\/wp-json\/wp\/v2\/posts\/2043\/revisions"}],"wp:attachment":[{"href":"https:\/\/app.applebyme.cn\/cloud\/wp-json\/wp\/v2\/media?parent=2043"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/app.applebyme.cn\/cloud\/wp-json\/wp\/v2\/categories?post=2043"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/app.applebyme.cn\/cloud\/wp-json\/wp\/v2\/tags?post=2043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}