Auto-publish.

This commit is contained in:
nebulaliu 2025-08-21 20:43:06 +08:00
parent 39e40b33bf
commit 80eadeff06
193 changed files with 1209 additions and 558 deletions

View File

@ -1,8 +1,8 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: DytLvSj8UC9CKob0XUy9Y3usKDmX8US1YgxYmBxa1iAZ/I8JbM5wZwE= guid: cccbd1d680cfe34fa1fef9e4875e5a12
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:
assetBundleName: assetBundleName:
assetBundleVariant: assetBundleVariant:

View File

@ -1,8 +1,8 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: XSwesi78AS28ymfR2HEhHpEBAC2DHupI1hIKP7HApjHRaZgGw+DTwWI= guid: cccbd1d680cfe34fa1fef9e3375e5a12
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:
assetBundleName: assetBundleName:
assetBundleVariant: assetBundleVariant:

View File

@ -2,26 +2,21 @@ mergeInto(LibraryManager.library, {
// 定义供 C/C++ 调用的 JS 函数 // 定义供 C/C++ 调用的 JS 函数
js_batchRender_malloc: function(data, size, isSync) { js_batchRender_malloc: function(data, size, isSync) {
// 直接从 WASM 内存创建视图(零拷贝) // 直接从 WASM 内存创建视图(零拷贝)
const binaryData = new Uint8Array(Module.HEAPU8.buffer, data, size); const targetBuffer = new Uint8Array(Module.HEAPU8.buffer, data, size);
// 转换为标准 ArrayBuffer如果需要复制
const targetBuffer =
binaryData.buffer.slice(binaryData.byteOffset, binaryData.byteOffset + binaryData.byteLength);
//console.log("processBinaryData invoke"); //console.log("processBinaryData invoke");
const extBuffer = new ArrayBuffer(1); const extBuffer = new ArrayBuffer(1);
const headerBuffer = new ArrayBuffer(8);
const headerBufferView = new DataView(headerBuffer);
headerBufferView.setUint32(0, 0xDEC0DE, true);
headerBufferView.setUint32(4, mtl.ctx.__uid(), true);
const merged = new Uint8Array(headerBuffer.byteLength + targetBuffer.byteLength);
merged.set(new Uint8Array(headerBuffer), 0);
merged.set(new Uint8Array(targetBuffer), headerBuffer.byteLength);
if(!isSync){ if(!isSync){
mtl.batchRenderAsync(merged.buffer, extBuffer); mtl.batchRenderAsync(targetBuffer, extBuffer);
return null; return null;
} }
const result = mtl.batchRender(merged.buffer, extBuffer).buffer; const response = mtl.batchRender(targetBuffer, extBuffer);
if(result.byteLength == 0){ if (!response) {
return null;; return null;
}
const result = response.buffer;
if(!result || result.byteLength == 0){
return null;
} }
// 申请内存空间,后续在cpp wasm部分使用记得释放 // 申请内存空间,后续在cpp wasm部分使用记得释放
const ptr = Module._malloc(result.byteLength); const ptr = Module._malloc(result.byteLength);

View File

@ -107,6 +107,14 @@ namespace WeChatWASM
return config.CompileOptions.enableiOSMetal; return config.CompileOptions.enableiOSMetal;
} }
} }
// 用于replaceRules判断是否需要注入相关的修改
public static bool UseEmscriptenGLX
{
get
{
return config.CompileOptions.enableEmscriptenGLX;
}
}
// public static void SetPlayableEnabled(bool enabled) // public static void SetPlayableEnabled(bool enabled)
// { // {
// isPlayableBuild = enabled; // isPlayableBuild = enabled;
@ -126,6 +134,8 @@ namespace WeChatWASM
} }
// iOS metal 的相关特性 // iOS metal 的相关特性
ProcessWxiOSMetalBinaries(); ProcessWxiOSMetalBinaries();
// emscriptenglx的相关特性
ProcessWxEmscriptenGLXBinaries();
MakeEnvForLuaAdaptor(); MakeEnvForLuaAdaptor();
// JSLib // JSLib
SettingWXTextureMinJSLib(); SettingWXTextureMinJSLib();
@ -371,6 +381,59 @@ namespace WeChatWASM
AssetDatabase.Refresh(); AssetDatabase.Refresh();
} }
private static void ProcessWxEmscriptenGLXBinaries()
{
string[] glLibs;
string DS = WXAssetsTextTools.DS;
if (UnityUtil.GetSDKMode() == UnityUtil.SDKMode.Package)
{
glLibs = new string[]
{
$"Packages{DS}com.qq.weixin.minigame{DS}Runtime{DS}Plugins{DS}libemscriptenglx.a",
$"Packages{DS}com.qq.weixin.minigame{DS}Runtime{DS}Plugins{DS}libemscriptenglx_2021.a",
};
}
else
{
string glLibRootDir = $"Assets{DS}WX-WASM-SDK-V2{DS}Runtime{DS}Plugins{DS}";
// 下方顺序不要变动
glLibs = new string[]
{
$"{glLibRootDir}libemscriptenglx.a",
$"{glLibRootDir}libemscriptenglx_2021.a",
};
}
{
// unity2022, tuanjie lib引入
bool showEnableGLX2022Plugin = config.CompileOptions.enableEmscriptenGLX && IsCompatibleWithUnity202203OrNewer();
var glx2022Importer = AssetImporter.GetAtPath(glLibs[0]) as PluginImporter;
#if PLATFORM_WEIXINMINIGAME
glx2022Importer.SetCompatibleWithPlatform(BuildTarget.WeixinMiniGame, showEnableGLX2022Plugin);
#else
glx2022Importer.SetCompatibleWithPlatform(BuildTarget.WebGL, showEnableGLX2022Plugin);
#endif
SetPluginCompatibilityByModifyingMetadataFile(glLibs[0], showEnableGLX2022Plugin);
}
{
// unity2021 lib引入
bool showEnableGLX2021Plugin = config.CompileOptions.enableEmscriptenGLX && IsCompatibleWithUnity202102To202203();
var glx2021Importer = AssetImporter.GetAtPath(glLibs[1]) as PluginImporter;
#if PLATFORM_WEIXINMINIGAME
glx2021Importer.SetCompatibleWithPlatform(BuildTarget.WeixinMiniGame, showEnableGLX2021Plugin);
#else
glx2021Importer.SetCompatibleWithPlatform(BuildTarget.WebGL, showEnableGLX2021Plugin);
#endif
SetPluginCompatibilityByModifyingMetadataFile(glLibs[1], showEnableGLX2021Plugin);
}
AssetDatabase.Refresh();
}
/** /**
* Lua Adaptor Settings. * Lua Adaptor Settings.
*/ */
@ -1395,8 +1458,7 @@ namespace WeChatWASM
var buildTemplate = new BuildTemplate( var buildTemplate = new BuildTemplate(
Path.Combine(UnityUtil.GetWxSDKRootPath(), "Runtime", defaultTemplateDir), Path.Combine(UnityUtil.GetWxSDKRootPath(), "Runtime", defaultTemplateDir),
Path.Combine(Application.dataPath, "WX-WASM-SDK-V2", "Editor", "template"), Path.Combine(Application.dataPath, "WX-WASM-SDK-V2", "Editor", "template"),
Path.Combine(config.ProjectConf.DST, miniGameDir), Path.Combine(config.ProjectConf.DST, miniGameDir)
true
); );
buildTemplate.start(); buildTemplate.start();
// FIX: 2021.2版本生成symbol有bug导出时生成symbol报错有symbol才copy // FIX: 2021.2版本生成symbol有bug导出时生成symbol报错有symbol才copy
@ -1983,7 +2045,7 @@ namespace WeChatWASM
config.ProjectConf.bundleHashLength.ToString(), config.ProjectConf.bundleHashLength.ToString(),
bundlePathIdentifierStr, bundlePathIdentifierStr,
excludeFileExtensionsStr, excludeFileExtensionsStr,
config.CompileOptions.enableiOSMetal ? "5" : (config.CompileOptions.Webgl2 ? "2" : "1"), config.CompileOptions.Webgl2 ? "2" : "1",
Application.unityVersion, Application.unityVersion,
WXExtEnvDef.pluginVersion, WXExtEnvDef.pluginVersion,
config.ProjectConf.dataFileSubPrefix, config.ProjectConf.dataFileSubPrefix,
@ -2032,7 +2094,9 @@ namespace WeChatWASM
config.ProjectConf.MemorySize.ToString(), config.ProjectConf.MemorySize.ToString(),
config.SDKOptions.disableMultiTouch ? "true" : "false", config.SDKOptions.disableMultiTouch ? "true" : "false",
// Perfstream暂时设为false // Perfstream暂时设为false
"false" "false",
config.CompileOptions.enableEmscriptenGLX ? "true" : "false",
config.CompileOptions.enableiOSMetal ? "true" : "false"
}); });
List<Rule> replaceList = new List<Rule>(replaceArrayList); List<Rule> replaceList = new List<Rule>(replaceArrayList);

View File

@ -185,6 +185,7 @@ namespace WeChatWASM
this.formCheckbox("profilingMemory", "Profiling Memory"); this.formCheckbox("profilingMemory", "Profiling Memory");
this.formCheckbox("webgl2", "WebGL2.0"); this.formCheckbox("webgl2", "WebGL2.0");
this.formCheckbox("iOSPerformancePlus", "iOSPerformancePlus(?)", "是否使用iOS高性能+渲染方案有助于提升渲染兼容性、降低WebContent进程内存"); this.formCheckbox("iOSPerformancePlus", "iOSPerformancePlus(?)", "是否使用iOS高性能+渲染方案有助于提升渲染兼容性、降低WebContent进程内存");
this.formCheckbox("EmscriptenGLX", "EmscriptenGLX(?)", "是否使用EmscriptenGLX渲染方案");
// this.formCheckbox("iOSMetal", "iOSMetal(?)", "是否使用iOSMetal渲染方案需要开启iOS高性能+模式有助于提升运行性能降低iOS功耗"); // this.formCheckbox("iOSMetal", "iOSMetal(?)", "是否使用iOSMetal渲染方案需要开启iOS高性能+模式有助于提升运行性能降低iOS功耗");
this.formCheckbox("deleteStreamingAssets", "Clear Streaming Assets"); this.formCheckbox("deleteStreamingAssets", "Clear Streaming Assets");
this.formCheckbox("cleanBuild", "Clean WebGL Build"); this.formCheckbox("cleanBuild", "Clean WebGL Build");
@ -449,6 +450,7 @@ namespace WeChatWASM
this.setData("webgl2", config.CompileOptions.Webgl2); this.setData("webgl2", config.CompileOptions.Webgl2);
this.setData("iOSPerformancePlus", config.CompileOptions.enableIOSPerformancePlus); this.setData("iOSPerformancePlus", config.CompileOptions.enableIOSPerformancePlus);
this.setData("iOSMetal", config.CompileOptions.enableiOSMetal); this.setData("iOSMetal", config.CompileOptions.enableiOSMetal);
this.setData("EmscriptenGLX", config.CompileOptions.enableEmscriptenGLX);
this.setData("fbslim", config.CompileOptions.fbslim); this.setData("fbslim", config.CompileOptions.fbslim);
this.setData("useFriendRelation", config.SDKOptions.UseFriendRelation); this.setData("useFriendRelation", config.SDKOptions.UseFriendRelation);
this.setData("useMiniGameChat", config.SDKOptions.UseMiniGameChat); this.setData("useMiniGameChat", config.SDKOptions.UseMiniGameChat);
@ -528,6 +530,7 @@ namespace WeChatWASM
config.CompileOptions.Webgl2 = this.getDataCheckbox("webgl2"); config.CompileOptions.Webgl2 = this.getDataCheckbox("webgl2");
config.CompileOptions.enableIOSPerformancePlus = this.getDataCheckbox("iOSPerformancePlus"); config.CompileOptions.enableIOSPerformancePlus = this.getDataCheckbox("iOSPerformancePlus");
config.CompileOptions.enableiOSMetal = this.getDataCheckbox("iOSMetal"); config.CompileOptions.enableiOSMetal = this.getDataCheckbox("iOSMetal");
config.CompileOptions.enableEmscriptenGLX = this.getDataCheckbox("EmscriptenGLX");
config.CompileOptions.fbslim = this.getDataCheckbox("fbslim"); config.CompileOptions.fbslim = this.getDataCheckbox("fbslim");
config.SDKOptions.UseFriendRelation = this.getDataCheckbox("useFriendRelation"); config.SDKOptions.UseFriendRelation = this.getDataCheckbox("useFriendRelation");
config.SDKOptions.UseMiniGameChat = this.getDataCheckbox("useMiniGameChat"); config.SDKOptions.UseMiniGameChat = this.getDataCheckbox("useMiniGameChat");

View File

@ -129,6 +129,10 @@ namespace WeChatWASM
{ {
return WXConvertCore.UseiOSMetal; return WXConvertCore.UseiOSMetal;
}); });
WXExtEnvDef.RegisterAction("WXConvertCore.UseEmscriptenGLX", (args) =>
{
return WXConvertCore.UseEmscriptenGLX;
});
WXExtEnvDef.RegisterAction("UnityUtil.GetWxSDKRootPath", (args) => WXExtEnvDef.RegisterAction("UnityUtil.GetWxSDKRootPath", (args) =>
{ {
#if UNITY_2018 #if UNITY_2018

View File

@ -2,7 +2,7 @@ namespace WeChatWASM
{ {
public class WXPluginVersion public class WXPluginVersion
{ {
public static string pluginVersion = "202508190736"; // 这一行不要改他,导出的时候会自动替换 public static string pluginVersion = "202508211242"; // 这一行不要改他,导出的时候会自动替换
} }
public class WXPluginConf public class WXPluginConf

Binary file not shown.

View File

@ -653,6 +653,7 @@
是否使用iOS metal指令流 是否使用iOS metal指令流
</summary> </summary>
</member> </member>
<!-- Badly formed XML comment ignored for member "F:WeChatWASM.CompileOptions.enableEmscriptenGLX" -->
<member name="F:WeChatWASM.CompileOptions.brotliMT"> <member name="F:WeChatWASM.CompileOptions.brotliMT">
<summary> <summary>
是否使用brotli多线程压缩 是否使用brotli多线程压缩

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 4e2a80fab2cbe76fc8f8a9443ecab609 guid: 5980c0863fb6d22010d20330ccbcaad6
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -416,11 +416,11 @@ mergeInto(LibraryManager.library, {
WXVideoPlay: function(id) { WXVideoPlay: function(id) {
window.WXWASMSDK.WXVideoPlay(_WXPointer_stringify_adaptor(id)); window.WXWASMSDK.WXVideoPlay(_WXPointer_stringify_adaptor(id));
}, },
WXVideoAddListener: function(id,key) { WXVideoAddListener: function(id, key) {
window.WXWASMSDK.WXVideoAddListener(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(key)); window.WXWASMSDK.WXVideoAddListener(_WXPointer_stringify_adaptor(id), _WXPointer_stringify_adaptor(key));
}, },
WXVideoDestroy: function(id) { WXVideoDestroy: function(id, isLast) {
window.WXWASMSDK.WXVideoDestroy(_WXPointer_stringify_adaptor(id)); window.WXWASMSDK.WXVideoDestroy(_WXPointer_stringify_adaptor(id), isLast);
}, },
WXVideoExitFullScreen: function(id) { WXVideoExitFullScreen: function(id) {
window.WXWASMSDK.WXVideoExitFullScreen(_WXPointer_stringify_adaptor(id)); window.WXWASMSDK.WXVideoExitFullScreen(_WXPointer_stringify_adaptor(id));

Binary file not shown.

View File

@ -0,0 +1,69 @@
fileFormatVersion: 2
guid: cccbd1d680cfe34fa1fef9e4875e5f23
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 1
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
: Any
second:
enabled: 0
settings:
Exclude Editor: 0
Exclude Linux64: 0
Exclude OSXUniversal: 0
Exclude WeixinMiniGame: 0
Exclude Win: 0
Exclude Win64: 0
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 1
settings:
CPU: AnyCPU
DefaultValueInitialized: true
OS: AnyOS
- first:
Standalone: Linux64
second:
enabled: 1
settings:
CPU: AnyCPU
- first:
Standalone: OSXUniversal
second:
enabled: 1
settings:
CPU: AnyCPU
- first:
Standalone: Win
second:
enabled: 1
settings:
CPU: AnyCPU
- first:
Standalone: Win64
second:
enabled: 1
settings:
CPU: AnyCPU
- first:
WeixinMiniGame: WeixinMiniGame
second:
enabled: 1
settings: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,93 @@
fileFormatVersion: 2
guid: 89ccba97a8e2991dc502c741bc8cd6c6
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 1
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
: Any
second:
enabled: 0
settings:
Exclude Android: 1
Exclude Editor: 1
Exclude Linux64: 1
Exclude OSXUniversal: 1
Exclude WebGL: 1
Exclude Win: 1
Exclude Win64: 1
Exclude WindowsStoreApps: 1
- first:
Android: Android
second:
enabled: 0
settings:
AndroidSharedLibraryType: Executable
CPU: ARMv7
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
CPU: AnyCPU
DefaultValueInitialized: true
OS: AnyOS
- first:
Standalone: Linux64
second:
enabled: 0
settings:
CPU: None
- first:
Standalone: OSXUniversal
second:
enabled: 0
settings:
CPU: None
- first:
Standalone: Win
second:
enabled: 0
settings:
CPU: None
- first:
Standalone: Win64
second:
enabled: 0
settings:
CPU: None
- first:
WebGL: WebGL
second:
enabled: 0
settings: {}
- first:
WeixinMiniGame: WeixinMiniGame
second:
enabled: 0
settings: {}
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
DontProcess: false
PlaceholderPath:
SDK: AnySDK
ScriptingBackend: AnyScriptingBackend
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -1749,116 +1749,126 @@
视频的总时长,单位为秒 视频的总时长,单位为秒
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.WXCreateVideoParam.x"> <member name="F:WeChatWASM.CreateVideoOption.src">
<summary>
视频的左上角横坐标
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.y">
<summary>
视频的左上角纵坐标
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.width">
<summary>
视频的宽度
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.height">
<summary>
视频的高度
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.src">
<summary> <summary>
视频的资源地址 视频的资源地址
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.WXCreateVideoParam.poster"> <member name="F:WeChatWASM.CreateVideoOption.autoplay">
<summary>
视频的封面
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.initialTime">
<summary>
视频的初始播放位置,单位为 s 秒
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.playbackRate">
<summary>
视频的播放速率,有效值有 0.5、0.8、1.0、1.25、1.5
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.live">
<summary>
视频是否为直播
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.objectFit">
<summary>
视频的缩放模式
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.controls">
<summary>
视频是否显示控件
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.showProgress">
<summary>
是否显示视频底部进度条
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.showProgressInControlMode">
<summary>
是否显示控制栏的进度条
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.backgroundColor">
<summary>
视频背景颜色
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.autoplay">
<summary> <summary>
视频是否自动播放 视频是否自动播放
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.WXCreateVideoParam.loop"> <member name="F:WeChatWASM.CreateVideoOption.backgroundColor">
<summary> <summary>
视频是否是否循环播放 视频背景颜色
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.WXCreateVideoParam.muted"> <member name="F:WeChatWASM.CreateVideoOption.controls">
<summary> <summary>
视频是否禁音播放 视频是否显示控件
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.WXCreateVideoParam.obeyMuteSwitch"> <member name="F:WeChatWASM.CreateVideoOption.enablePlayGesture">
<summary>
视频是否遵循系统静音开关设置仅iOS
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.enableProgressGesture">
<summary>
是否启用手势控制播放进度
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.enablePlayGesture">
<summary> <summary>
是否开启双击播放的手势 是否开启双击播放的手势
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.WXCreateVideoParam.showCenterPlayBtn"> <member name="F:WeChatWASM.CreateVideoOption.enableProgressGesture">
<summary>
是否启用手势控制播放进度
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.height">
<summary>
视频的高度
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.initialTime">
<summary>
视频的初始播放位置,单位为 s 秒
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.live">
<summary>
视频是否为直播
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.loop">
<summary>
视频是否是否循环播放
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.muted">
<summary>
视频是否禁音播放
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.obeyMuteSwitch">
<summary>
视频是否遵循系统静音开关设置仅iOS
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.objectFit">
<summary>
视频的缩放模式
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.playbackRate">
<summary>
视频的播放速率,有效值有 0.5、0.8、1.0、1.25、1.5
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.poster">
<summary>
视频的封面
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.showCenterPlayBtn">
<summary> <summary>
是否显示视频中央的播放按钮 是否显示视频中央的播放按钮
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.WXCreateVideoParam.underGameView"> <member name="F:WeChatWASM.CreateVideoOption.showProgress">
<summary>
是否显示视频底部进度条
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.showProgressInControlMode">
<summary>
是否显示控制栏的进度条
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.width">
<summary>
视频的宽度
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.x">
<summary>
视频的左上角横坐标
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.y">
<summary>
视频的左上角纵坐标
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.underGameView">
<summary> <summary>
视频是否显示在游戏画布之下 视频是否显示在游戏画布之下
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.CreateVideoOption.autoPauseIfNavigate">
<summary>
视频跳转后自动暂停播放
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.autoPauseIfOpenNative">
<summary>
视频跳转原生页后自动暂停播放
</summary>
</member>
<member name="F:WeChatWASM.EnvVersion.develop"> <member name="F:WeChatWASM.EnvVersion.develop">
<summary> <summary>
开发版 开发版
@ -3129,6 +3139,100 @@
选填部分活动、功能允许接收自定义query参数请参阅渠道说明默认可不填 选填部分活动、功能允许接收自定义query参数请参阅渠道说明默认可不填
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.VirtualPaymentError.errMsg">
错误信息
| 错误码 | 错误信息 | 说明 |
| - | - | - |
| 1001 | | 参数错误 |
| -1 | | 支付失败 |
| -2 | | 支付取消 |
| -4 | | 风控拦截 |
| -5 | | 开通签约结果未知 |
| -15001 | | 参数错误,具体原因见err_msg |
| -15002 | | outTradeNo重复使用,请换新单号重试 |
| -15003 | | 系统错误 |
| -15004 | | currencyType错误,目前只能填CNY |
| -15005 | | 用户态签名signature错误 |
| -15006 | | 支付签名paySig错误 |
| -15007 | | session_key过期 |
| -15008 | | 二级商户进件未完成 |
| -15009 | | 代币未发布 |
| -15010 | | 道具productId未发布 |
| -15011 | | 现网版本的env只能是0,不能填1(沙盒环境) |
| -15012 | | 调用米大师失败导致关单,请换新单号重试 |
| -15013 | | goodsPrice道具价格错误 |
| -15014 | | 道具/代币发布未生效禁止下单大概10分钟后生效 |
| -15016 | | signData格式有问题 |
| -15017 | | 此商家涉嫌违规,收款功能已被限制,暂无法支付。商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
| -15018 | | 代币或者道具productId审核不通过 |
| -15019 | | 调微信报商户受限,商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
| -15020 | | 操作过快,请稍候再试 |
| -15021 | | 小程序被限频交易 |
</member>
<member name="F:WeChatWASM.VirtualPaymentError.errCode">
错误码
| 错误码 | 错误信息 | 说明 |
| - | - | - |
| 1001 | | 参数错误 |
| -1 | | 支付失败 |
| -2 | | 支付取消 |
| -4 | | 风控拦截 |
| -5 | | 开通签约结果未知 |
| -15001 | | 参数错误,具体原因见err_msg |
| -15002 | | outTradeNo重复使用,请换新单号重试 |
| -15003 | | 系统错误 |
| -15004 | | currencyType错误,目前只能填CNY |
| -15005 | | 用户态签名signature错误 |
| -15006 | | 支付签名paySig错误 |
| -15007 | | session_key过期 |
| -15008 | | 二级商户进件未完成 |
| -15009 | | 代币未发布 |
| -15010 | | 道具productId未发布 |
| -15011 | | 现网版本的env只能是0,不能填1(沙盒环境) |
| -15012 | | 调用米大师失败导致关单,请换新单号重试 |
| -15013 | | goodsPrice道具价格错误 |
| -15014 | | 道具/代币发布未生效禁止下单大概10分钟后生效 |
| -15016 | | signData格式有问题 |
| -15017 | | 此商家涉嫌违规,收款功能已被限制,暂无法支付。商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
| -15018 | | 代币或者道具productId审核不通过 |
| -15019 | | 调微信报商户受限,商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
| -15020 | | 操作过快,请稍候再试 |
| -15021 | | 小程序被限频交易 |
</member>
<member name="F:WeChatWASM.RequestVirtualPaymentFailCallbackErr.errCode">
错误码
</member>
<member name="F:WeChatWASM.RequestVirtualPaymentFailCallbackErr.errMsg">
错误信息
</member>
<member name="F:WeChatWASM.RequestCommonPaymentSuccessCallbackResult.errMsg">
调用成功信息
</member>
<member name="F:WeChatWASM.RequestVirtualPaymentOption.mode">
<summary>
支付的类型, 不同的支付类型有各自额外要传的附加参数
可选值:
- 'short_series_goods': 道具直购;
- 'short_series_coin': 代币充值;
</summary>
</member>
<member name="F:WeChatWASM.RequestVirtualPaymentOption.paySig">
<summary>
支付签名, 详见[《签名详解》](https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html)
</summary>
</member>
<member name="F:WeChatWASM.RequestVirtualPaymentOption.signData">
<summary>
具体支付参数见signData, 该参数需以string形式传递, 例如signData: '{"offerId":"123","buyQuantity":1,"env":0,"currencyType":"CNY","productId":"testproductId","goodsPrice":10,"outTradeNo":"xxxxxx","attach":"testdata"}'
</summary>
</member>
<member name="F:WeChatWASM.RequestVirtualPaymentOption.signature">
<summary>
用户态签名, 详见[《签名详解》](https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html)
</summary>
</member>
<member name="F:WeChatWASM.Gamepad.axes"> <member name="F:WeChatWASM.Gamepad.axes">
<summary> <summary>
一个表示控制器设备上存在的坐标轴的数组 (比如控制器摇杆)。 一个表示控制器设备上存在的坐标轴的数组 (比如控制器摇杆)。
@ -8509,22 +8613,44 @@
显示用户信息按钮 显示用户信息按钮
</summary> </summary>
</member> </member>
<member name="T:WeChatWASM.WXVideo">
<summary>
微信小游戏视频组件
</summary>
</member>
<member name="F:WeChatWASM.WXVideo._Dict">
<summary>
视频实例字典 (内部使用,请不要访问)
</summary>
</member>
<member name="F:WeChatWASM.WXVideo.instanceId">
<summary>
视频实例ID
</summary>
</member>
<member name="F:WeChatWASM.WXVideo.param">
<summary>
视频创建参数
</summary>
</member>
<member name="M:WeChatWASM.WXVideo.#ctor(System.String,WeChatWASM.CreateVideoOption)">
<summary>
创建视频实例
</summary>
<param name="id">实例ID</param>
<param name="param">创建参数</param>
</member>
<member name="M:WeChatWASM.WXVideo.InitializeProperties">
<summary>
初始化属性
</summary>
</member>
<member name="M:WeChatWASM.WXVideo._HandleCallBack(WeChatWASM.WXVideoCallback)"> <member name="M:WeChatWASM.WXVideo._HandleCallBack(WeChatWASM.WXVideoCallback)">
<summary> <summary>
内部函数,请不要调用 内部函数,请不要调用
</summary> </summary>
<param name="key"></param> <param name="key"></param>
</member> </member>
<member name="P:WeChatWASM.WXVideo.src">
<summary>
视频的资源地址
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.poster">
<summary>
视频的封面
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.x"> <member name="P:WeChatWASM.WXVideo.x">
<summary> <summary>
视频的左上角横坐标 视频的左上角横坐标
@ -8545,9 +8671,69 @@
视频的高度 视频的高度
</summary> </summary>
</member> </member>
<member name="P:WeChatWASM.WXVideo.isPlaying"> <member name="P:WeChatWASM.WXVideo.src">
<summary> <summary>
Gets a value indicating whether 是否正在播放 视频的资源地址
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.poster">
<summary>
视频的封面
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.live">
<summary>
是否为直播
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.objectFit">
<summary>
当视频大小与 video 容器大小不一致时,视频的表现形式
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.controls">
<summary>
是否显示默认播放控件(播放/暂停按钮、播放进度、时间)
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.showProgress">
<summary>
是否显示播放进度
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.showProgressInControlMode">
<summary>
在非全屏模式下,是否开启亮度和音量调节手势
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.backgroundColor">
<summary>
视频的背景色
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.obeyMuteSwitch">
<summary>
是否遵循系统静音开关
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.enableProgressGesture">
<summary>
是否开启控制进度的手势
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.enablePlayGesture">
<summary>
是否开启播放手势
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.showCenterPlayBtn">
<summary>
是否显示视频中间的播放按钮
</summary>
</member>
<member name="M:WeChatWASM.WXVideo.Destroy">
<summary>
销毁当前实例
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.Play"> <member name="M:WeChatWASM.WXVideo.Play">
@ -8555,44 +8741,31 @@
播放视频 播放视频
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OnPlay(System.Action)"> <member name="M:WeChatWASM.WXVideo.Pause">
<summary> <summary>
监听视频播放事件 暂停
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OffPlay(System.Action)"> <member name="M:WeChatWASM.WXVideo.Stop">
<summary> <summary>
取消监听视频播放事件,action 为空表示移除全部事件监听 停止视频
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OnEnded(System.Action)"> <member name="M:WeChatWASM.WXVideo.Seek(System.Int32)">
<summary> <summary>
监听视频播放到末尾事件 视频跳转
</summary> </summary>
<param name="time">视频跳转到指定位置,单位为 s 秒</param>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OffEnded(System.Action)"> <member name="M:WeChatWASM.WXVideo.RequestFullScreen(System.Int32)">
<summary> <summary>
取消监听视频播放到末尾事件 视频全屏
</summary> </summary>
<param name="direction">设置全屏时视频的方向 0: 正常竖向, 90: 屏幕逆时针90度 . -90: 屏幕顺时针90度</param>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OnError(System.Action)"> <member name="M:WeChatWASM.WXVideo.ExitFullScreen">
<summary> <summary>
监听视频错误事件 视频退出全屏
</summary>
</member>
<member name="M:WeChatWASM.WXVideo.OffError(System.Action)">
<summary>
取消监听视频错误事件,action 为空表示移除全部事件监听
</summary>
</member>
<member name="M:WeChatWASM.WXVideo.OnPause(System.Action)">
<summary>
监听视频暂停事件
</summary>
</member>
<member name="M:WeChatWASM.WXVideo.OffPause(System.Action)">
<summary>
取消监听视频暂停事件,action 为空表示移除全部事件监听
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OnWaiting(System.Action)"> <member name="M:WeChatWASM.WXVideo.OnWaiting(System.Action)">
@ -8605,36 +8778,45 @@
取消监听视频由于需要缓冲下一帧而停止时触发,action 为空表示移除全部事件监听 取消监听视频由于需要缓冲下一帧而停止时触发,action 为空表示移除全部事件监听
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.Destroy"> <member name="M:WeChatWASM.WXVideo.OnProgress(System.Action{WeChatWASM.WXVideoProgress})">
<summary> <summary>
销毁当前实例 监听视频下载(缓冲)事件
</summary>
<param name="action"></param>
</member>
<member name="M:WeChatWASM.WXVideo.OffProgress(System.Action{WeChatWASM.WXVideoProgress})">
<summary>
取消监听视频下载(缓冲)事件 ,action 为空表示移除全部事件监听
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.ExitFullScreen"> <member name="M:WeChatWASM.WXVideo.OnPlay(System.Action)">
<summary> <summary>
视频退出全屏 监听视频播放事件
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.Pause"> <member name="M:WeChatWASM.WXVideo.OffPlay(System.Action)">
<summary> <summary>
暂停 取消监听视频播放事件,action 为空表示移除全部事件监听
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.RequestFullScreen(System.Int32)"> <member name="M:WeChatWASM.WXVideo.OnPause(System.Action)">
<summary> <summary>
视频全屏 监听视频暂停事件
</summary> </summary>
<param name="direction">设置全屏时视频的方向 0: 正常竖向, 90: 屏幕逆时针90度 . -90: 屏幕顺时针90度</param>
</member> </member>
<member name="M:WeChatWASM.WXVideo.Seek(System.Int32)"> <member name="M:WeChatWASM.WXVideo.OffPause(System.Action)">
<summary> <summary>
视频跳转 取消监听视频暂停事件,action 为空表示移除全部事件监听
</summary> </summary>
<param name="time">视频跳转到指定位置,单位为 s 秒</param>
</member> </member>
<member name="M:WeChatWASM.WXVideo.Stop"> <member name="M:WeChatWASM.WXVideo.OnEnded(System.Action)">
<summary> <summary>
停止视频 监听视频播放到末尾事件
</summary>
</member>
<member name="M:WeChatWASM.WXVideo.OffEnded(System.Action)">
<summary>
取消监听视频播放到末尾事件
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OnTimeUpdate(System.Action{WeChatWASM.WXVideoTimeUpdate})"> <member name="M:WeChatWASM.WXVideo.OnTimeUpdate(System.Action{WeChatWASM.WXVideoTimeUpdate})">
@ -8648,15 +8830,14 @@
取消监听视频播放进度更新事件,action 为空表示移除全部事件监听 取消监听视频播放进度更新事件,action 为空表示移除全部事件监听
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OnProgress(System.Action{WeChatWASM.WXVideoProgress})"> <member name="M:WeChatWASM.WXVideo.OnError(System.Action{WeChatWASM.WXVideoError})">
<summary> <summary>
监听视频下载(缓冲)事件 监听视频错误事件
</summary> </summary>
<param name="action"></param>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OffProgress(System.Action{WeChatWASM.WXVideoProgress})"> <member name="M:WeChatWASM.WXVideo.OffError(System.Action{WeChatWASM.WXVideoError})">
<summary> <summary>
取消监听视频下载(缓冲)事件 ,action 为空表示移除全部事件监听 取消监听视频错误事件,action 为空表示移除全部事件监听
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideoDecoder.GetFrameData"> <member name="M:WeChatWASM.WXVideoDecoder.GetFrameData">

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 744bf12ecf3dfaa699dd812a15f33b22 guid: d019c5eb5ba4a895454faf928571c82b
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

Binary file not shown.

View File

@ -1755,116 +1755,126 @@
视频的总时长,单位为秒 视频的总时长,单位为秒
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.WXCreateVideoParam.x"> <member name="F:WeChatWASM.CreateVideoOption.src">
<summary>
视频的左上角横坐标
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.y">
<summary>
视频的左上角纵坐标
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.width">
<summary>
视频的宽度
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.height">
<summary>
视频的高度
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.src">
<summary> <summary>
视频的资源地址 视频的资源地址
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.WXCreateVideoParam.poster"> <member name="F:WeChatWASM.CreateVideoOption.autoplay">
<summary>
视频的封面
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.initialTime">
<summary>
视频的初始播放位置,单位为 s 秒
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.playbackRate">
<summary>
视频的播放速率,有效值有 0.5、0.8、1.0、1.25、1.5
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.live">
<summary>
视频是否为直播
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.objectFit">
<summary>
视频的缩放模式
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.controls">
<summary>
视频是否显示控件
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.showProgress">
<summary>
是否显示视频底部进度条
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.showProgressInControlMode">
<summary>
是否显示控制栏的进度条
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.backgroundColor">
<summary>
视频背景颜色
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.autoplay">
<summary> <summary>
视频是否自动播放 视频是否自动播放
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.WXCreateVideoParam.loop"> <member name="F:WeChatWASM.CreateVideoOption.backgroundColor">
<summary> <summary>
视频是否是否循环播放 视频背景颜色
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.WXCreateVideoParam.muted"> <member name="F:WeChatWASM.CreateVideoOption.controls">
<summary> <summary>
视频是否禁音播放 视频是否显示控件
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.WXCreateVideoParam.obeyMuteSwitch"> <member name="F:WeChatWASM.CreateVideoOption.enablePlayGesture">
<summary>
视频是否遵循系统静音开关设置仅iOS
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.enableProgressGesture">
<summary>
是否启用手势控制播放进度
</summary>
</member>
<member name="F:WeChatWASM.WXCreateVideoParam.enablePlayGesture">
<summary> <summary>
是否开启双击播放的手势 是否开启双击播放的手势
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.WXCreateVideoParam.showCenterPlayBtn"> <member name="F:WeChatWASM.CreateVideoOption.enableProgressGesture">
<summary>
是否启用手势控制播放进度
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.height">
<summary>
视频的高度
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.initialTime">
<summary>
视频的初始播放位置,单位为 s 秒
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.live">
<summary>
视频是否为直播
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.loop">
<summary>
视频是否是否循环播放
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.muted">
<summary>
视频是否禁音播放
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.obeyMuteSwitch">
<summary>
视频是否遵循系统静音开关设置仅iOS
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.objectFit">
<summary>
视频的缩放模式
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.playbackRate">
<summary>
视频的播放速率,有效值有 0.5、0.8、1.0、1.25、1.5
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.poster">
<summary>
视频的封面
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.showCenterPlayBtn">
<summary> <summary>
是否显示视频中央的播放按钮 是否显示视频中央的播放按钮
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.WXCreateVideoParam.underGameView"> <member name="F:WeChatWASM.CreateVideoOption.showProgress">
<summary>
是否显示视频底部进度条
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.showProgressInControlMode">
<summary>
是否显示控制栏的进度条
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.width">
<summary>
视频的宽度
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.x">
<summary>
视频的左上角横坐标
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.y">
<summary>
视频的左上角纵坐标
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.underGameView">
<summary> <summary>
视频是否显示在游戏画布之下 视频是否显示在游戏画布之下
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.CreateVideoOption.autoPauseIfNavigate">
<summary>
视频跳转后自动暂停播放
</summary>
</member>
<member name="F:WeChatWASM.CreateVideoOption.autoPauseIfOpenNative">
<summary>
视频跳转原生页后自动暂停播放
</summary>
</member>
<member name="F:WeChatWASM.EnvVersion.develop"> <member name="F:WeChatWASM.EnvVersion.develop">
<summary> <summary>
开发版 开发版
@ -3135,6 +3145,100 @@
选填部分活动、功能允许接收自定义query参数请参阅渠道说明默认可不填 选填部分活动、功能允许接收自定义query参数请参阅渠道说明默认可不填
</summary> </summary>
</member> </member>
<member name="F:WeChatWASM.VirtualPaymentError.errMsg">
错误信息
| 错误码 | 错误信息 | 说明 |
| - | - | - |
| 1001 | | 参数错误 |
| -1 | | 支付失败 |
| -2 | | 支付取消 |
| -4 | | 风控拦截 |
| -5 | | 开通签约结果未知 |
| -15001 | | 参数错误,具体原因见err_msg |
| -15002 | | outTradeNo重复使用,请换新单号重试 |
| -15003 | | 系统错误 |
| -15004 | | currencyType错误,目前只能填CNY |
| -15005 | | 用户态签名signature错误 |
| -15006 | | 支付签名paySig错误 |
| -15007 | | session_key过期 |
| -15008 | | 二级商户进件未完成 |
| -15009 | | 代币未发布 |
| -15010 | | 道具productId未发布 |
| -15011 | | 现网版本的env只能是0,不能填1(沙盒环境) |
| -15012 | | 调用米大师失败导致关单,请换新单号重试 |
| -15013 | | goodsPrice道具价格错误 |
| -15014 | | 道具/代币发布未生效禁止下单大概10分钟后生效 |
| -15016 | | signData格式有问题 |
| -15017 | | 此商家涉嫌违规,收款功能已被限制,暂无法支付。商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
| -15018 | | 代币或者道具productId审核不通过 |
| -15019 | | 调微信报商户受限,商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
| -15020 | | 操作过快,请稍候再试 |
| -15021 | | 小程序被限频交易 |
</member>
<member name="F:WeChatWASM.VirtualPaymentError.errCode">
错误码
| 错误码 | 错误信息 | 说明 |
| - | - | - |
| 1001 | | 参数错误 |
| -1 | | 支付失败 |
| -2 | | 支付取消 |
| -4 | | 风控拦截 |
| -5 | | 开通签约结果未知 |
| -15001 | | 参数错误,具体原因见err_msg |
| -15002 | | outTradeNo重复使用,请换新单号重试 |
| -15003 | | 系统错误 |
| -15004 | | currencyType错误,目前只能填CNY |
| -15005 | | 用户态签名signature错误 |
| -15006 | | 支付签名paySig错误 |
| -15007 | | session_key过期 |
| -15008 | | 二级商户进件未完成 |
| -15009 | | 代币未发布 |
| -15010 | | 道具productId未发布 |
| -15011 | | 现网版本的env只能是0,不能填1(沙盒环境) |
| -15012 | | 调用米大师失败导致关单,请换新单号重试 |
| -15013 | | goodsPrice道具价格错误 |
| -15014 | | 道具/代币发布未生效禁止下单大概10分钟后生效 |
| -15016 | | signData格式有问题 |
| -15017 | | 此商家涉嫌违规,收款功能已被限制,暂无法支付。商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
| -15018 | | 代币或者道具productId审核不通过 |
| -15019 | | 调微信报商户受限,商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
| -15020 | | 操作过快,请稍候再试 |
| -15021 | | 小程序被限频交易 |
</member>
<member name="F:WeChatWASM.RequestVirtualPaymentFailCallbackErr.errCode">
错误码
</member>
<member name="F:WeChatWASM.RequestVirtualPaymentFailCallbackErr.errMsg">
错误信息
</member>
<member name="F:WeChatWASM.RequestCommonPaymentSuccessCallbackResult.errMsg">
调用成功信息
</member>
<member name="F:WeChatWASM.RequestVirtualPaymentOption.mode">
<summary>
支付的类型, 不同的支付类型有各自额外要传的附加参数
可选值:
- 'short_series_goods': 道具直购;
- 'short_series_coin': 代币充值;
</summary>
</member>
<member name="F:WeChatWASM.RequestVirtualPaymentOption.paySig">
<summary>
支付签名, 详见[《签名详解》](https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html)
</summary>
</member>
<member name="F:WeChatWASM.RequestVirtualPaymentOption.signData">
<summary>
具体支付参数见signData, 该参数需以string形式传递, 例如signData: '{"offerId":"123","buyQuantity":1,"env":0,"currencyType":"CNY","productId":"testproductId","goodsPrice":10,"outTradeNo":"xxxxxx","attach":"testdata"}'
</summary>
</member>
<member name="F:WeChatWASM.RequestVirtualPaymentOption.signature">
<summary>
用户态签名, 详见[《签名详解》](https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html)
</summary>
</member>
<member name="F:WeChatWASM.Gamepad.axes"> <member name="F:WeChatWASM.Gamepad.axes">
<summary> <summary>
一个表示控制器设备上存在的坐标轴的数组 (比如控制器摇杆)。 一个表示控制器设备上存在的坐标轴的数组 (比如控制器摇杆)。
@ -8515,22 +8619,44 @@
显示用户信息按钮 显示用户信息按钮
</summary> </summary>
</member> </member>
<member name="T:WeChatWASM.WXVideo">
<summary>
微信小游戏视频组件
</summary>
</member>
<member name="F:WeChatWASM.WXVideo._Dict">
<summary>
视频实例字典 (内部使用,请不要访问)
</summary>
</member>
<member name="F:WeChatWASM.WXVideo.instanceId">
<summary>
视频实例ID
</summary>
</member>
<member name="F:WeChatWASM.WXVideo.param">
<summary>
视频创建参数
</summary>
</member>
<member name="M:WeChatWASM.WXVideo.#ctor(System.String,WeChatWASM.CreateVideoOption)">
<summary>
创建视频实例
</summary>
<param name="id">实例ID</param>
<param name="param">创建参数</param>
</member>
<member name="M:WeChatWASM.WXVideo.InitializeProperties">
<summary>
初始化属性
</summary>
</member>
<member name="M:WeChatWASM.WXVideo._HandleCallBack(WeChatWASM.WXVideoCallback)"> <member name="M:WeChatWASM.WXVideo._HandleCallBack(WeChatWASM.WXVideoCallback)">
<summary> <summary>
内部函数,请不要调用 内部函数,请不要调用
</summary> </summary>
<param name="key"></param> <param name="key"></param>
</member> </member>
<member name="P:WeChatWASM.WXVideo.src">
<summary>
视频的资源地址
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.poster">
<summary>
视频的封面
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.x"> <member name="P:WeChatWASM.WXVideo.x">
<summary> <summary>
视频的左上角横坐标 视频的左上角横坐标
@ -8551,9 +8677,69 @@
视频的高度 视频的高度
</summary> </summary>
</member> </member>
<member name="P:WeChatWASM.WXVideo.isPlaying"> <member name="P:WeChatWASM.WXVideo.src">
<summary> <summary>
Gets a value indicating whether 是否正在播放 视频的资源地址
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.poster">
<summary>
视频的封面
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.live">
<summary>
是否为直播
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.objectFit">
<summary>
当视频大小与 video 容器大小不一致时,视频的表现形式
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.controls">
<summary>
是否显示默认播放控件(播放/暂停按钮、播放进度、时间)
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.showProgress">
<summary>
是否显示播放进度
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.showProgressInControlMode">
<summary>
在非全屏模式下,是否开启亮度和音量调节手势
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.backgroundColor">
<summary>
视频的背景色
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.obeyMuteSwitch">
<summary>
是否遵循系统静音开关
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.enableProgressGesture">
<summary>
是否开启控制进度的手势
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.enablePlayGesture">
<summary>
是否开启播放手势
</summary>
</member>
<member name="P:WeChatWASM.WXVideo.showCenterPlayBtn">
<summary>
是否显示视频中间的播放按钮
</summary>
</member>
<member name="M:WeChatWASM.WXVideo.Destroy">
<summary>
销毁当前实例
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.Play"> <member name="M:WeChatWASM.WXVideo.Play">
@ -8561,44 +8747,31 @@
播放视频 播放视频
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OnPlay(System.Action)"> <member name="M:WeChatWASM.WXVideo.Pause">
<summary> <summary>
监听视频播放事件 暂停
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OffPlay(System.Action)"> <member name="M:WeChatWASM.WXVideo.Stop">
<summary> <summary>
取消监听视频播放事件,action 为空表示移除全部事件监听 停止视频
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OnEnded(System.Action)"> <member name="M:WeChatWASM.WXVideo.Seek(System.Int32)">
<summary> <summary>
监听视频播放到末尾事件 视频跳转
</summary> </summary>
<param name="time">视频跳转到指定位置,单位为 s 秒</param>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OffEnded(System.Action)"> <member name="M:WeChatWASM.WXVideo.RequestFullScreen(System.Int32)">
<summary> <summary>
取消监听视频播放到末尾事件 视频全屏
</summary> </summary>
<param name="direction">设置全屏时视频的方向 0: 正常竖向, 90: 屏幕逆时针90度 . -90: 屏幕顺时针90度</param>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OnError(System.Action)"> <member name="M:WeChatWASM.WXVideo.ExitFullScreen">
<summary> <summary>
监听视频错误事件 视频退出全屏
</summary>
</member>
<member name="M:WeChatWASM.WXVideo.OffError(System.Action)">
<summary>
取消监听视频错误事件,action 为空表示移除全部事件监听
</summary>
</member>
<member name="M:WeChatWASM.WXVideo.OnPause(System.Action)">
<summary>
监听视频暂停事件
</summary>
</member>
<member name="M:WeChatWASM.WXVideo.OffPause(System.Action)">
<summary>
取消监听视频暂停事件,action 为空表示移除全部事件监听
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OnWaiting(System.Action)"> <member name="M:WeChatWASM.WXVideo.OnWaiting(System.Action)">
@ -8611,36 +8784,45 @@
取消监听视频由于需要缓冲下一帧而停止时触发,action 为空表示移除全部事件监听 取消监听视频由于需要缓冲下一帧而停止时触发,action 为空表示移除全部事件监听
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.Destroy"> <member name="M:WeChatWASM.WXVideo.OnProgress(System.Action{WeChatWASM.WXVideoProgress})">
<summary> <summary>
销毁当前实例 监听视频下载(缓冲)事件
</summary>
<param name="action"></param>
</member>
<member name="M:WeChatWASM.WXVideo.OffProgress(System.Action{WeChatWASM.WXVideoProgress})">
<summary>
取消监听视频下载(缓冲)事件 ,action 为空表示移除全部事件监听
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.ExitFullScreen"> <member name="M:WeChatWASM.WXVideo.OnPlay(System.Action)">
<summary> <summary>
视频退出全屏 监听视频播放事件
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.Pause"> <member name="M:WeChatWASM.WXVideo.OffPlay(System.Action)">
<summary> <summary>
暂停 取消监听视频播放事件,action 为空表示移除全部事件监听
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.RequestFullScreen(System.Int32)"> <member name="M:WeChatWASM.WXVideo.OnPause(System.Action)">
<summary> <summary>
视频全屏 监听视频暂停事件
</summary> </summary>
<param name="direction">设置全屏时视频的方向 0: 正常竖向, 90: 屏幕逆时针90度 . -90: 屏幕顺时针90度</param>
</member> </member>
<member name="M:WeChatWASM.WXVideo.Seek(System.Int32)"> <member name="M:WeChatWASM.WXVideo.OffPause(System.Action)">
<summary> <summary>
视频跳转 取消监听视频暂停事件,action 为空表示移除全部事件监听
</summary> </summary>
<param name="time">视频跳转到指定位置,单位为 s 秒</param>
</member> </member>
<member name="M:WeChatWASM.WXVideo.Stop"> <member name="M:WeChatWASM.WXVideo.OnEnded(System.Action)">
<summary> <summary>
停止视频 监听视频播放到末尾事件
</summary>
</member>
<member name="M:WeChatWASM.WXVideo.OffEnded(System.Action)">
<summary>
取消监听视频播放到末尾事件
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OnTimeUpdate(System.Action{WeChatWASM.WXVideoTimeUpdate})"> <member name="M:WeChatWASM.WXVideo.OnTimeUpdate(System.Action{WeChatWASM.WXVideoTimeUpdate})">
@ -8654,15 +8836,14 @@
取消监听视频播放进度更新事件,action 为空表示移除全部事件监听 取消监听视频播放进度更新事件,action 为空表示移除全部事件监听
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OnProgress(System.Action{WeChatWASM.WXVideoProgress})"> <member name="M:WeChatWASM.WXVideo.OnError(System.Action{WeChatWASM.WXVideoError})">
<summary> <summary>
监听视频下载(缓冲)事件 监听视频错误事件
</summary> </summary>
<param name="action"></param>
</member> </member>
<member name="M:WeChatWASM.WXVideo.OffProgress(System.Action{WeChatWASM.WXVideoProgress})"> <member name="M:WeChatWASM.WXVideo.OffError(System.Action{WeChatWASM.WXVideoError})">
<summary> <summary>
取消监听视频下载(缓冲)事件 ,action 为空表示移除全部事件监听 取消监听视频错误事件,action 为空表示移除全部事件监听
</summary> </summary>
</member> </member>
<member name="M:WeChatWASM.WXVideoDecoder.GetFrameData"> <member name="M:WeChatWASM.WXVideoDecoder.GetFrameData">

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 00bce541fac34af9181e2dc507ef6680 guid: d6103e79ab5fa18d75212c6bf65faa17
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -535,7 +535,7 @@ namespace WeChatWASM
/// </summary> /// </summary>
/// <param name="param"></param> /// <param name="param"></param>
/// <returns></returns> /// <returns></returns>
public static WXVideo CreateVideo(WXCreateVideoParam param) public static WXVideo CreateVideo(CreateVideoOption param)
{ {
return WXSDKManagerHandler.Instance.CreateVideo(param); return WXSDKManagerHandler.Instance.CreateVideo(param);
} }
@ -1127,6 +1127,15 @@ namespace WeChatWASM
WXSDKManagerHandler.Instance.NotifyMiniProgramPlayableStatus(option); WXSDKManagerHandler.Instance.NotifyMiniProgramPlayableStatus(option);
} }
#endregion #endregion
#region
/// <summary>
/// 请求虚拟支付
/// </summary>
public static void RequestVirtualPayment(RequestVirtualPaymentOption option)
{
WXSDKManagerHandler.Instance.RequestVirtualPayment(option);
}
#endregion
/// <summary> /// <summary>
/// [[PageManager](https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/PageManager.html) wx.createPageManager()](https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/wx.createPageManager.html) /// [[PageManager](https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/PageManager.html) wx.createPageManager()](https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/wx.createPageManager.html)

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 72b139033b80b9d6b99085dfc8bc2a49 guid: 17733577a150cd5a37d2dad9b961bc21
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: a997306c2732066bba544aa059476b08 guid: 4d62905d41cb9cc9bf26814e633b6b54
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: ebbc2640a5b6186f28f1b7605fbabab7 guid: d28dc88805ac99d2c4ffdf08b7d95eb6
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: fd42866e6c5266b7e4359f2543a1fec8 guid: 6f9a294acbec307b5d9efc8156b2c57c
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 9cd04a9e88b74649448d33f0cd13031e guid: 02af2ba5a136aa5f06326c62cfa185d4
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: c611738fcc7802f4d0a2c44863e28ee8 guid: 0b927fc2dc156f2d3d26cac63abba010
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 434a16c5ea815113890c5d6f58c6c7ca guid: e670e38ca1b9f28755dcb38b31006b61
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: a0cc3b7ca12186d2d446018c3ddf214d guid: 16891e520eceb36fbb7740751b4c6a6c
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: ac4244e6a18805d144af9149f834e0a1 guid: e5075a8d29d1df49331e5afb0cf995fb
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 2bf22c2d04a9e7d9f297501c1323ac4d guid: df451f7830f584d80f24ee8fab7852c6
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 8570e6b4206b6d7d341446244a6c4da7 guid: d9a15b0352d731cf9bcbfa03ea44342b
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 7eaa133708b8be10e36a5ebe9452e572 guid: 8e3d5044c51733cd8616f8d71298398f
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 5d03bc8e8d87086243a0a65794f51bd6 guid: effaf53a7c01b38a4f5eefddd8188d61
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: d5b36e6b6d042ee0548fa62635223b58 guid: 763acadf05488e07d16bf5b95d211833
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 140fee18982d4e45623dd3a1e66ac75e guid: f5c662dff9b77b29f2b4043359b020eb
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 659e2b43f55112843ee9c6407128bac6 guid: e0cb4ce0c967ef2d219fc160c8dc5bf8
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: e1c372ff8f4195bc75114c9554eaff6f guid: 3e06b70f508d85ccfd54cf1346645743
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 2fa6a51b71803dc08b295c766489b9ea guid: 038991a314f2ed3b9aaad99561146673
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 1484f1e87b79ffa93541f61a84b1893f guid: 847b1bebf5598d3bc5f375ab654d2f2d
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 345eb4b995090af85b5e5ba6a3a0515a guid: 25a370c9013404f8de3eb4c07de304d1
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: b38adae15bfe35672bce4821ca5930db guid: 91870170f12e10ffd75bb00ef489809c
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: a775d3ea945670380658bc11adcc9728 guid: 7dec6930eab0e741f4786ed543624332
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 163cfa54d38fa37b54e9b08c88273927 guid: dfb7688a44754acde1c81d04f99a0021
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1018,6 +1018,9 @@ export default {
if (WEBAudio.audioWebSupport === 0 || WEBAudio.audioWebEnabled === 0) { if (WEBAudio.audioWebSupport === 0 || WEBAudio.audioWebEnabled === 0) {
return; return;
} }
if (WEBAudio.audioContext && WEBAudio.audioContext.state !== 'suspended') {
return;
}
resumeWebAudio(); resumeWebAudio();
}, },
_JS_Sound_Set3D(channelInstance, threeD) { _JS_Sound_Set3D(channelInstance, threeD) {

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: a77aeffdf1e4e4cae8e2605672c55550 guid: 411a0c55387775724e5b6ddaa01f2e3b
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: e2941757369859aeba3d7e6ebd831fa2 guid: 8a2ab483f6704919dd3780eed80bd827
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 73b593c254c758a6cea0d1c1d60fc3e7 guid: a3a365fd5d566c7b1df25384e4ff4da2
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 4ea8a010da6162ea8ea52fb1f569e671 guid: 5419cf436102a2ab0eee9d679bbe3bfc
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 2ba51385d798e8f725194b8f0044ee13 guid: 5f898e05c678ec49ec4eb5bea9b336bc
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 320dac1f684fc429e72cdca93fe1f0c8 guid: 9f72c8223c381146cee1a02dda71c8ce
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 24dad2d7efe34e93f6a63a48016423ae guid: 99def70a554f718e521b6b9c6389a5f4
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 8367c4606f2866b4e651d631280b4ac0 guid: eaf0e7e682b3d5a5789dad5f67f0bdd4
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: c30c8164896ec58e547faa1c28b542c3 guid: afcf05acc5e9fe8f17f7ee5a78dc466b
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 3682b97797acb1af66d14874ecb5ef66 guid: 3758fd1caebc447a71809d1b421c8469
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: bdb08ac45c3e02d1cca0bc6baaa7cff9 guid: 72eabdc730422faf6464325ab31357fe
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: e4748760dc46a32255e35634543f34af guid: ae8b5d19dad4398206b7d08299383567
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 9c37db65e214cfc4b0653da8ad7410b4 guid: 187170094d2e59a38e7db5f1c4ebe906
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 95757d8548b999bde6d0b6787c0ae1d9 guid: 055762129ac9b6a333f8a52234bd582c
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: ecf2513c35b8072a06c821bd5737fadf guid: 5e5e3f657f19515d15be187b5ef1f616
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 8f418650d2052e382b5c4facc7970625 guid: 4c31e4faaadae267527745d3df3576fa
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: ca2e677b7926336eed382fbb4ae7c866 guid: ba8335a2906f3b000bdb5c60f0d0da21
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 7f2df765fb49ed9c7a770ba4ea740bc1 guid: 744e284d3d5d8cfb289bb499456709d4
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 8b714053feed532ca6f7d0491c47b557 guid: fc064180248fe7842e0720a1314222cd
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: aafe1f1425bb63fb2a8a1f2c952f6547 guid: 795d1b5599e41e8959460c34b3442b66
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 81b0595187bd2e72660b4a973fb371db guid: 79da48fab5352ae05525922d18e0f547
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 6ff4a02d27c350c57c91f7658eb1581b guid: ddbc4e4998a50e90b9b8005882bc4522
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: df87d731e861a442062d81f9deea71d7 guid: 74c49d02112363944d3e25462fff7acf
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 0c16e081ef5eb96f146e80079e9c7b83 guid: e7274e379de190e8b8c84ca766360dd8
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -18,12 +18,15 @@ export default {
if (!obj) { if (!obj) {
return; return;
} }
if (key === 'x' || key === 'y' || key === 'width' || key === 'height') { if (key === 'x' || key === 'y' || key === 'width' || key === 'height' || key === 'playbackRate' || key === 'initialTime') {
obj[key] = +value; obj[key] = +value;
} }
else if (key === 'src' || key === 'poster') { else if (key === 'src' || key === 'poster') {
obj[key] = value; obj[key] = value;
} }
else if (key === 'loop' || key === 'muted') {
obj[key] = value === 'true';
}
}, },
WXVideoPlay(id) { WXVideoPlay(id) {
const obj = getObject(id); const obj = getObject(id);
@ -40,10 +43,11 @@ export default {
obj[key]((e) => { obj[key]((e) => {
moduleHelper.send('OnVideoCallback', JSON.stringify({ moduleHelper.send('OnVideoCallback', JSON.stringify({
callbackId: id, callbackId: id,
errMsg: key, type: key,
position: e && e.position, position: e && e.position,
buffered: e && e.buffered, buffered: e && e.buffered,
duration: e && e.duration, duration: e && e.duration,
errMsg: e && e.errMsg,
})); }));
if (key === 'onError') { if (key === 'onError') {
GameGlobal.enableTransparentCanvas = false; GameGlobal.enableTransparentCanvas = false;

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: fbba2afedf7de369f6616a2737e6584e guid: 432b0bdef2fae03c8ad4812277b47d2c
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 425bb6592b83479f021f4ac580380f95 guid: 0a0c1832a9b45c0e17ea7f5152b479db
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -171,6 +171,12 @@ function _JS_Video_Create(url) {
function _JS_Video_Destroy(video) { function _JS_Video_Destroy(video) {
debugLog('_JS_Video_Destroy', video); debugLog('_JS_Video_Destroy', video);
videoInstances[video].destroy(); videoInstances[video].destroy();
const Module = GameGlobal.manager.gameInstance.Module;
const { GL } = Module;
const gl = GL.currentContext.GLctx;
if (!isWebVideo && gl.emscriptenGLX && Module._glxVideoDestroy) {
Module._glxVideoDestroy(video);
}
delete videoInstances[video]; delete videoInstances[video];
} }
function _JS_Video_Duration(video) { function _JS_Video_Duration(video) {
@ -375,7 +381,29 @@ function _JS_Video_UpdateToTexture(video, tex) {
if (!FrameworkData) { if (!FrameworkData) {
return false; return false;
} }
const Module = GameGlobal.manager.gameInstance.Module;
const { GL, GLctx } = FrameworkData; const { GL, GLctx } = FrameworkData;
const gl = GL.currentContext.GLctx;
if (!isWebVideo && Module._glxVideoUpdateToTexture && gl.emscriptenGLX) {
const data = v.frameData?.data;
const source = supportVideoFrame ? data : new Uint8ClampedArray(data);
const byteLength = supportVideoFrame ? 0 : source.byteLength;
let sourceIdOrPtr;
if (supportVideoFrame) {
sourceIdOrPtr = source.__uid;
}
else {
sourceIdOrPtr = Module._glxGetVideoTempBuffer(video, byteLength);
if (sourceIdOrPtr) {
Module.HEAPU8.set(source, sourceIdOrPtr);
}
}
Module._glxVideoUpdateToTexture(v, supportVideoFrame, tex, v.videoWidth, v.videoHeight, sourceIdOrPtr);
return true;
}
GLctx.pixelStorei(GLctx.UNPACK_FLIP_Y_WEBGL, true); GLctx.pixelStorei(GLctx.UNPACK_FLIP_Y_WEBGL, true);

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: bd6bf06ecfb1617fb7b6603427825f15 guid: 0d5c319d10f753e5ea050e30c652e27a
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 8d8052d59bb07606065585cf08b0253d guid: 300861100085b103dce3618bc6b7c0ff
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 11f12368f26a118555972961efe907fd guid: 1a499b6aa3c13cf62dc36997edf65ec0
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: b1c65667ff7aa0db7dd760e09e48d235 guid: b7f94deb599cb188f842131bd8f29381
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -45,7 +45,7 @@ const isIOSWebgl2SystemVersionValid = compareVersion(systemVersion, '15.0') || G
// Android客户端版本>=8.0.19支持webgl2 // Android客户端版本>=8.0.19支持webgl2
const isAndroidWebGL2ClientVersionValid = compareVersion(version, '8.0.19'); const isAndroidWebGL2ClientVersionValid = compareVersion(version, '8.0.19');
// 是否用了webgl2 // 是否用了webgl2
const isWebgl2 = () => GameGlobal.managerConfig.contextConfig.contextType === 2; const isWebgl2 = () => GameGlobal.managerConfig.contextConfig.contextType === 2 || GameGlobal.managerConfig.contextConfig.contextType === 4;
// 是否支持BufferURL // 是否支持BufferURL
export const isSupportBufferURL = !isPc export const isSupportBufferURL = !isPc
&& (isH5Renderer && (isH5Renderer

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: b359eabcdef1919195de839fb78762b2 guid: ab5facc0ddf61ea1baa1d29a4ab132e5
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 9b4020b540b9a7aa06d2d8136e952572 guid: 3dcd73fda79cc317c5c1e58f6a88e649
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: d1cea326b818f8026ffe01ca8bbd6c7a guid: 5705af445ee4b6db113ff633b72b079c
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 82e623a803146806f2646ef54be62f88 guid: 5dd9a3b7d4ee5bb13624823688289c0d
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -27,7 +27,11 @@ const managerConfig = {
'$PRELOAD_LIST', '$PRELOAD_LIST',
], ],
contextConfig: { contextConfig: {
contextType: $WEBGL_VERSION, // 1: webgl1 2: webgl2 contextType: $WEBGL_VERSION,
contextExt: {
enableGLX: $ENABLE_GLX,
enableMetal: $ENABLE_METAL,
}
}, },
PROFILER_UPLOAD_URL: '', PROFILER_UPLOAD_URL: '',
}; };

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: dfb3621b99c16fe5918bd0f61cabef6d guid: ad53627720be3f34f28c785a3e84027a
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -32,7 +32,7 @@
] ]
}, },
"Layout": { "Layout": {
"version": "1.0.15", "version": "1.0.16",
"provider": "wx7a727ff7d940bb3f", "provider": "wx7a727ff7d940bb3f",
"contexts": [ "contexts": [
{ {

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 43a58900cd1f2cceeebe71cd0da6e9ea guid: 596b5a005e7299af5159f359e4cf1a28
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: b1d832e9cee1c57b74a2fded945106ca guid: ce64eb1a4cad2ab672b4af95a306dbde
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 4fbb60bb57bfbc6477067e849d4c899a guid: 52b3672c54ce16b0d7efc8bbde900bd0
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 62d3610273924692d8a468a7612ca4ba guid: cf2f0248adf96c37e8d2e7dad9770333
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: dce8b79ef90a5f0785efa79abc051250 guid: 717de4057fbc0a2d01d22b8244b8755e
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 5e4435258531c885590de46de0a68372 guid: a2040cd9a9256508bde71f4045dab318
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 83a12c74827ac659f16b70e632b0a36b guid: 06b6ae6979d34d3c21ca16ccf4f21910
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: d16ea1b19da3cbb0776441ccf58afbf5 guid: d0d7728408ff4787b2d19b23f78a8af4
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: da79e742fd6f9ced13d2208f2588ed39 guid: 6941fa6b53777faf981dc64b4348ddac
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 949a3f0616e67d1ce1337ed2c59fa822 guid: ab507740803430793edb4a68d9a2d53d
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: d232f8799adc892248cb4c0dc6e5c40a guid: b5971d513d45728fb337e71c3a6a1a5e
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: a7a7440873159df79ad30343d0a7fa97 guid: 25f778a9984a258e99befcf2294c8328
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

Some files were not shown because too many files have changed in this diff Show More