コトバノウタカタ

よしなしごとをつらつらとつづるばしょ。

久々にAndroid Studioでsyncしたらエラー

「could not find com.android.tools.build:gradle:3.1.2」みたいなエラーが出た。

build.gradleの以下のgoogle()を追加したらなんか進んだ。また別のエラー出たけど。

buildscript {
    repositories {
        google()
        jcenter()
    }

qiita.com


別のエラーは「License for package Android SDK Build-Tools *** not accepted.」みたいなの。

SDKツールのバージョン指定インストールでいけたっぽい。SDKマネージャで、SDK Toolタブを選択して、バージョン指定はDetailとかなんとかをチェックすると出てくる。

www.javadrive.jp

Amazon終了確認18

javascript: var d = document;
dv = d.getElementsByClassName('D0Lu_p');
var cnt = dv.length;
var cnttg = document.createElement('div');
cnttg.textContent = cnt;
d.getElementsByClassName('_vfqY6')[0].appendChild(cnttg);
for (i = 0;
    i < dv.length;
    i++) {
        aa = dv[i].getElementsByTagName('img')[0];
    nm = aa.getAttribute('alt');
    asin = dv[i].firstElementChild.getAttribute("data-automation-id").substr(8);
    ;
    ln = 'https://www.amazon.co.jp/s/ref=nb_sb_noss?__mk_ja_JP=カタカナ&url=node%3D4217521051&field-keywords=' + asin;
    var req = new XMLHttpRequest();
    rm = dv[i].getElementsByClassName('_1Opa2_')[0];
    req.rm = dv[i];
    req.ln = ln;
    req.nnm = nm;
    req.onreadystatechange = function () {
        if (this.readyState == 4 && this.status == 200) {
            x = this.responseXML;
            r3 = x.getElementById("n/4217521051");
            hit = false;
            if (r3 != null) {
                ls = this.responseXML.getElementsByClassName('rush-component s-latency-cf-section');
                if (ls.length > 0) {
                    hit = true;
                    chs = ls[0].children;
                    en = '';
                    for (chi = 0;
                        chi < chs.length;
                        chi++) {
                            ch = chs[chi];
                        h5 = ch.getElementsByClassName('s-line-clamp-4');
                        if (h5.length > 0) {
                            tnm = h5[0].textContent.trim();
                            if (tnm == this.nnm) {
                                en = '終了確認';

                            }
                        }
                    } if (en != '') {
                        a = d.createElement('a');
                        a.href = this.ln;
                        a.textContent = en;
                        a.setAttribute('target', '_blank');
                        dd = d.createElement('div');
                        a.setAttribute('style', 'float:right');
                        dd.appendChild(a);
                        this.rm.appendChild(dd);
                        hit = true;

                    } else {
                        this.rm.style.display = 'none';

                    }
                }
            } if (hit == false) {
                this.rm.style.display = 'none';

            } cnt--;
            cnttg.textContent = cnt;

        }
    };
    req.open('GET', ln, true);
    req.responseType = "document";
    req.send(null);

};

Amazon終了確認17

javascript: var d = document;
dv = d.getElementsByClassName('D0Lu_p');
var cnt = dv.length;
var cnttg = document.createElement('div');
cnttg.textContent = cnt;
d.getElementsByClassName('_3aE6se')[0].appendChild(cnttg);
for (i = 0;
    i < dv.length;
    i++) {
    aa = dv[i].getElementsByTagName('img')[0];
    nm = aa.getAttribute('alt');
    asin = dv[i].firstElementChild.getAttribute("data-automation-id").substr(8);;
    ln = 'https://www.amazon.co.jp/s/ref=nb_sb_noss?__mk_ja_JP=カタカナ&url=node%3D4217521051&field-keywords=' + asin;
    var req = new XMLHttpRequest();
    rm = dv[i].getElementsByClassName('_1Opa2_')[0];
    req.rm = dv[i];
    req.ln = ln;
    req.nnm = nm;
    req.onreadystatechange = function () {
        if (this.readyState == 4 && this.status == 200) {
            x = this.responseXML;
            r3 = x.getElementById("n/4217521051");
            hit = false;
            if (r3 != null) {
                ls = this.responseXML.getElementsByClassName('rush-component s-latency-cf-section');
                if (ls.length > 0) {
                    hit = true;
                    chs = ls[0].children;
                    en = '';
                    for (chi = 0;
                        chi < chs.length;
                        chi++) {
                        ch = chs[chi];
                        h5 = ch.getElementsByClassName('s-line-clamp-4');
                        if (h5.length > 0) {
                            tnm = h5[0].textContent.trim();
                            if (tnm == this.nnm) {
                                en = '終了確認';
                            }
                        }
                    }
                    if (en != '') {
                        a = d.createElement('a');
                        a.href = this.ln;
                        a.textContent = en;
                        a.setAttribute('target', '_blank');
                        dd = d.createElement('div');
                        a.setAttribute('style', 'float:right');
                        dd.appendChild(a);
                        this.rm.appendChild(dd);
                        hit = true;
                    }
                    else {
                        this.rm.style.display = 'none';
                    }
                }
            }
            if (hit == false) {
                this.rm.style.display = 'none';
            }
            cnt--;
            cnttg.textContent = cnt;
        }
    }
        ;
    req.open('GET', ln, true);
    req.responseType = "document";
    req.send(null);
}
;

Oculus Quest 2、SteamVRでコントローラのボタン設定を変える

Virtual Desktop経由でSteamVRを使ってゲームを起動すると、コントローラーがただしく認識できない場合がある。その直接の解説方法はわからないが、ひとまずボタン割当変更の方法。以下はスティックの押し込み(タッチパッドクリックがこれに割り当てられることがある)を別のボタンに割り当てる方法。

  1. SteamVRでゲームを起動
  2. 右コントローラのメニューボタンを押す
  3. 「コントローラのバインド」を選択
  4. 上部の選択でプレイ中のゲームになっていることを確認
  5. 「アクティブなコントローラのバインド」を「カスタム」に切り替え
  6. 「このバインドを編集」を選択する、コントローラの絵とバインドが表示される
  7. 左スティックの押し込みを中指グリップに割り当てる場合
    1. 「グリップ」のペンアイコンを選択編集モードにする
    2. 「クリック」を「Left Trackpad/Thumb stick Press」に変更
    3. 「タッチ」を「Left Trackpad/Thumb stick Touch」に変更
    4. 「プル」は変更しなくてよい?
  8. 「個人用バインドを保存」をクリック

「Aボタン」などの場合は「プル」がない。右のときは「Right」を選ぶ。

たぶんこれでOK?

Oculus Quest 2のScreenshotの取り方と保存場所

スクリーンショットの取り方

  1. Oculus ボタンを押す
  2. 人差し指トリガーを押す
  3. 人差し指トリガーを離す(ここでスクリーンショットが撮影される)
  4. Oculus ボタンを離す

離すと撮る、というのがミソ。

うまく撮れないときはoculusのメニューから撮影する。

  1. 右コントローラのoculusボタンを押す
  2. メニューの「写真を撮る」を選択
  3. 5秒後くらいに画面が撮影される

もしこのときoculusメニューが出ていたら、それも写り込んでしまうので、oculusボタンを押して非表示にする。

スクリーンショットをPCにコピーする

  1. oculusとPCをUSBで接続する
  2. エクスプローラでPCを開くと「QUEST 2」とあるので選択
  3. PC\Quest 2\内部共有ストレージ\Pictures\.thumbnails 内のファイルをコピー

.thumbnailsとなっているが、実際には普通のスクリーンショットファイルが入っている。

Oculus Quset 2 のVirtual Desktop使用時にQuest 2 のマイクが使えない

Virtual DesktopでPCのデスクトップやゲームを開いているときに、Oculus Quset 2のマイクが使えずPC本体のマイクしか選択できない場合の対処方法。

  1. Virtual DesktopでPCのデスクトップを表示する
  2. 左コントローラのメニューボタンを押す
  3. Virtual Desktopの設定が面が出るので「Settings」を選択
  4. 「Audio」の「Microphone passthrough」をチェックする
  5. ゲームを起動する
  6. 左コントローラのメニューボタンを押す
  7. 設定画面の左側の「オーディオ」を選択
  8. 「オーディオ入力デバイス」で「ヘッドセット」を選択

これでいけるはず。動作は未確認(話をする相手がいない)。