Skip to content

Commit db1c5ec

Browse files
committed
update 播放本地路径视频
1 parent 1e98b80 commit db1c5ec

17 files changed

+3626
-0
lines changed

Demo/API_V2/Assets/API/APISO.asset

+1
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,6 @@ MonoBehaviour:
3636
- {fileID: 11400000, guid: 14a1a853f10124ee2b276992e2d40448, type: 2}
3737
- {fileID: 11400000, guid: 1aa518b2f8ca04c6e81821bcb9a3cc49, type: 2}
3838
- {fileID: 11400000, guid: 89339dab17a614cbf8abc8469d67cb72, type: 2}
39+
- {fileID: 11400000, guid: 5073e277b29d95642abb3c49fe94eea0, type: 2}
3940
- {fileID: 11400000, guid: 27654a238f98e4f7e8756e4caed418e1, type: 2}
4041
- {fileID: 11400000, guid: ebd496025e81f434bb6b5b487cfbf2ed, type: 2}

Demo/API_V2/Assets/API/Network/Download/DownloadSO.asset

+1
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@ MonoBehaviour:
2020
initialButtonText: "\u4E0B\u8F7D"
2121
extraButtonList: []
2222
initialResultList: []
23+
entryOrder: 0

Demo/API_V2/Assets/API/Network/TCPSocket/TCPSocketSO.asset

+1
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,4 @@ MonoBehaviour:
2727
- buttonText: "\u53D1\u9001"
2828
- buttonText: "\u5173\u95ED"
2929
initialResultList: []
30+
entryOrder: 0

Demo/API_V2/Assets/API/Network/UDPSocket/UDPSocketSO.asset

+1
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,4 @@ MonoBehaviour:
3030
- buttonText: Send
3131
- buttonText: "\u5173\u95ED"
3232
initialResultList: []
33+
entryOrder: 0

Demo/API_V2/Assets/API/Network/UnityWebRequest/WebRequest SO.asset

+1
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ MonoBehaviour:
2222
- buttonText: Post
2323
- buttonText: Get
2424
initialResultList: []
25+
entryOrder: 0

Demo/API_V2/Assets/API/Network/Upload/UploadSO.asset

+1
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@ MonoBehaviour:
2020
initialButtonText: "\u4E0A\u4F20\u6587\u4EF6"
2121
extraButtonList: []
2222
initialResultList: []
23+
entryOrder: 0

Demo/API_V2/Assets/API/Share/ShareAppMessage/ShareAppMessageSO.asset

+1
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@ MonoBehaviour:
2020
initialButtonText: "\u5206\u4EAB"
2121
extraButtonList: []
2222
initialResultList: []
23+
entryOrder: 0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
%YAML 1.1
2+
%TAG !u! tag:unity3d.com,2011:
3+
--- !u!114 &11400000
4+
MonoBehaviour:
5+
m_ObjectHideFlags: 0
6+
m_CorrespondingSourceObject: {fileID: 0}
7+
m_PrefabInstance: {fileID: 0}
8+
m_PrefabAsset: {fileID: 0}
9+
m_GameObject: {fileID: 0}
10+
m_Enabled: 1
11+
m_EditorHideFlags: 0
12+
m_Script: {fileID: 11500000, guid: 77d040911b51640ea8a6e857528c3a0d, type: 3}
13+
m_Name: FileVideoSO
14+
m_EditorClassIdentifier:
15+
abilityName: "\u672C\u5730\u8DEF\u5F84\u89C6\u9891"
16+
abilitySprite: {fileID: 0}
17+
abilityOrder: 0

Demo/API_V2/Assets/API/Video/FileVideoSO.asset.meta

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
using System;
2+
using System.Collections;
3+
using UnityEngine;
4+
using UnityEngine.Networking;
5+
using UnityEngine.UI;
6+
using UnityEngine.Video;
7+
using WeChatWASM;
8+
9+
public class PlayLocalFileVideo : MonoBehaviour
10+
{
11+
public VideoPlayer videoPlayer;
12+
13+
private void Awake()
14+
{
15+
// 获取或添加VideoPlayer组件
16+
videoPlayer = GetComponent<VideoPlayer>();
17+
if (videoPlayer == null)
18+
{
19+
videoPlayer = gameObject.AddComponent<VideoPlayer>();
20+
}
21+
22+
// 配置VideoPlayer
23+
videoPlayer.playOnAwake = false;
24+
videoPlayer.isLooping = false;
25+
}
26+
27+
private void DownloadFileVideo()
28+
{
29+
WX.DownloadFile(new DownloadFileOption()
30+
{
31+
url = "https://res.wx.qq.com/wechatgame/product/webpack/userupload/20190812/video.mp4",
32+
success = (res) =>
33+
{
34+
Debug.Log("WX.DownloadFile success");
35+
if (res.statusCode == 200)
36+
{
37+
Debug.Log(res.tempFilePath);
38+
var fs = WX.GetFileSystemManager();
39+
var filePath = fs.SaveFileSync(res.tempFilePath, WX.env.USER_DATA_PATH + "/video.mp4");
40+
LoadAndPlayVideo(filePath);
41+
}
42+
},
43+
fail = (res) =>
44+
{
45+
Debug.Log("WX.DownloadFile fail");
46+
},
47+
complete = (res) =>
48+
{
49+
Debug.Log("WX.DownloadFile complete");
50+
}
51+
});
52+
}
53+
54+
void LoadAndPlayVideo(string localFilePath)
55+
{
56+
// 设置视频文件路径
57+
videoPlayer.url = localFilePath;
58+
59+
// 准备和播放视频
60+
videoPlayer.prepareCompleted += PrepareCompleted;
61+
videoPlayer.Prepare();
62+
}
63+
64+
void PrepareCompleted(VideoPlayer vp)
65+
{
66+
Debug.Log("Video prepared, starting playback");
67+
vp.Play();
68+
}
69+
70+
private void CleanupVideo()
71+
{
72+
if (videoPlayer != null)
73+
{
74+
videoPlayer.Stop();
75+
videoPlayer.url = string.Empty;
76+
}
77+
}
78+
79+
private void Start()
80+
{
81+
DownloadFileVideo();
82+
}
83+
84+
private void OnDestroy()
85+
{
86+
CleanupVideo();
87+
}
88+
}

Demo/API_V2/Assets/API/Video/PlayLocalFileVideo.cs.meta

+11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)