質問編集履歴

2

ソースの修正

2024/04/02 14:25

投稿

Rivermouth
Rivermouth

スコア19

test CHANGED
File without changes
test CHANGED
@@ -33,111 +33,6 @@
33
33
 
34
34
  ```
35
35
 
36
- ### 該当のソースコード
37
-
38
- ```Python
39
- from flask import Flask, jsonify, request
40
- from config import DATABASE_CONFIG
41
- import psycopg2
42
- import os
43
-
44
- app = Flask(__name__)
45
-
46
- @app.route('/getVideoUrl', methods=['GET'])
47
- def get_video_url():
48
- marker_name = request.args.get('markerName')
49
- try:
50
- conn = psycopg2.connect(DATABASE_CONFIG)
51
- cur = conn.cursor()
52
- cur.execute("SELECT video_url FROM markers WHERE marker_name = %s", (marker_name,))
53
- row = cur.fetchone()
54
- cur.close()
55
- conn.close()
56
-
57
- if row:
58
- return jsonify({"videoUrl": row[0]})
59
- else:
60
- return jsonify({"error": "Video not found"}), 404
61
- except Exception as e:
62
- return jsonify({"error": str(e)}), 500
63
- if __name__ == '__main__':
64
- app.run(debug=True)
65
- ```
66
-
67
- ```C#
68
- protected virtual void OnTrackingFound()
69
- {
70
- Debug.Log("マーカーが認識されました。");
71
- // if (mObserverBehaviour.gameObject.GetComponentInChildren<VideoPlayer>() != null) {
72
- // mObserverBehaviour.gameObject.GetComponentInChildren<VideoPlayer>().Play();
73
- // }
74
-
75
- // VideoLoaderのインスタンスを見つける
76
- VideoLoader videoLoader = FindObjectOfType<VideoLoader>();
77
- if (videoLoader != null)
78
- {
79
- // マーカー名を指定してVideoLoaderの関数を呼び出す
80
- // ここでは例として"markerName"を使用
81
- videoLoader.OnMarkerRecognized("heart");
82
- }
83
- else
84
- {
85
- Debug.LogError("VideoLoader instance not found.");
86
- }
87
- if (mObserverBehaviour)
88
- SetComponentsEnabled(true);
89
-
90
- OnTargetFound?.Invoke();
91
- }
92
- ```
93
-
94
- ```C#
95
- using System.Collections;
96
- using UnityEngine;
97
- using UnityEngine.Networking;
98
- using UnityEngine.Video;
99
-
100
- public class VideoLoader : MonoBehaviour
101
- {
102
- public VideoPlayer videoPlayer; // InspectorでVideoPlayerコンポーネントをアサイン
103
-
104
- // FlaskアプリケーションのエンドポイントURL
105
- private string flaskEndpoint = "http://127.0.0.1:5000/getVideoUrl?markerName=";
106
-
107
- // ARマーカーが認識された時に呼び出されるメソッド
108
- // このメソッドは、あなたがARマーカーを認識した時のイベントに合わせて適宜呼び出してください
109
- public void OnMarkerRecognized(string markerName)
110
- {
111
- StartCoroutine(GetVideoUrl(markerName));
112
- }
113
-
114
- // Flaskアプリケーションから動画URLを取得するコルーチン
115
- IEnumerator GetVideoUrl(string markerName)
116
- {
117
- UnityWebRequest request = UnityWebRequest.Get(flaskEndpoint + markerName);
118
- yield return request.SendWebRequest();
119
-
120
- if (request.result == UnityWebRequest.Result.Success)
121
- {
122
- // 応答から動画URLを取得
123
- string videoUrl = request.downloadHandler.text;
124
- // URLから動画を再生
125
- PlayVideo(videoUrl);
126
- }
127
- else
128
- {
129
- Debug.LogError("Error: " + request.error);
130
- }
131
- }
132
-
133
- // 動画URLを使って動画を再生
134
- void PlayVideo(string videoUrl)
135
- {
136
- videoPlayer.url = videoUrl;
137
- videoPlayer.Play();
138
- }
139
- }
140
- ```
141
36
 
142
37
  ### 試したこと・調べたこと
143
38
  - [x] teratailやGoogle等で検索した
@@ -148,23 +43,9 @@
148
43
  ##### 上記の詳細・結果
149
44
  - S3上で動画のアクセス権限を変更
150
45
  パブリックアクセスをすべて ブロック->オフ
151
- - バケットポリシーを以下の通りに修正
46
+
152
- {
153
- "Version": "2012-10-17",
154
- "Statement": [
155
- {
156
- "Sid": "PublicReadGetObject",
157
- "Effect": "Allow",
158
- "Principal": "*",
159
- "Action": "s3:GetObject",
160
- "Resource": "arn:aws:s3:::myartest/*"
161
- }
162
- ]
163
- }
164
47
  - 色々な動画で試したがダメ
165
48
  - ChatGPT4.0に質問をしたが、特に有益な情報は得られず
166
- - Unityの設定を以下の通りに修正
167
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-04-01/9b1682c8-c153-4b53-9b83-0d4af304ab57.png)
168
49
 
169
50
 
170
51
  ### 補足

1

画像の追加

2024/04/01 14:30

投稿

Rivermouth
Rivermouth

スコア19

test CHANGED
File without changes
test CHANGED
@@ -163,6 +163,8 @@
163
163
  }
164
164
  - 色々な動画で試したがダメ
165
165
  - ChatGPT4.0に質問をしたが、特に有益な情報は得られず
166
+ - Unityの設定を以下の通りに修正
167
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2024-04-01/9b1682c8-c153-4b53-9b83-0d4af304ab57.png)
166
168
 
167
169
 
168
170
  ### 補足