//SVMAPI public static void Play(string _cache_asset, int _track, SVMAPI.FinishDelegate _onFinish) { try { byte[] bytes = UGCMgr.Take(_cache_asset); AudioClip clip = UGC.Audio.WAVUtil.BuildAudioClip(bytes); CoroutineMgr.Start(play2DSound_SVMAPI(clip, _track, _onFinish)); } catch (System.Exception e) { Log.Error("Play2dSound", "Parse json hsa error:" + e.Message); } }
private static IEnumerator play2DSound_SVMAPI(AudioClip _ac, int _track, SVMAPI.FinishDelegate _onFinish) { MixerMgr.Play2dSound(_track, _ac); while (true) { yield return(new WaitForEndOfFrame()); float time = MixerMgr.Get2DTrackElapsed(_track); if (time >= _ac.length - 0.1) { _onFinish(); break; } } }
static int _m_Play2dUGC_xlua_st_(RealStatePtr L) { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); try { { string _cache_asset = LuaAPI.lua_tostring(L, 1); int _track = LuaAPI.xlua_tointeger(L, 2); SVMAPI.FinishDelegate _onFinish = translator.GetDelegate <SVMAPI.FinishDelegate>(L, 3); SVMAPI.Sound.Play2dUGC(_cache_asset, _track, _onFinish); return(0); } } catch (System.Exception __gen_e) { return(LuaAPI.luaL_error(L, "c# exception:" + __gen_e)); } }
//SVMAPI public static void Play(string _package, string _file, int _track, SVMAPI.FinishDelegate _onFinish) { try { ResourceMgr.LoadAudioClip(_package, _file, _track , () => { Log.Debug("Play2D", "ready"); } , (_audioclip) => { AudioClip clip = _audioclip as AudioClip; CoroutineMgr.Start(play2DSound_SVMAPI(clip, _track, _onFinish)); } , (_error) => { Log.Error("Play2D", _error); }); } catch (System.Exception e) { Log.Error("Play2dSound", "Parse json hsa error:" + e.Message); } }
public static void Play2dUGC(string _cache_asset, int _track, SVMAPI.FinishDelegate _onFinish) { VRXX.Action.Sound.Play2DUGC.Play(_cache_asset, _track, _onFinish); }
public void __Gen_Delegate_Imp1(System.Collections.Generic.Dictionary <string, string> p0, SVMAPI.FinishDelegate p1) { #if THREAD_SAFT || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) { #endif RealStatePtr L = luaEnv.rawL; int err_func = LuaAPI.load_error_func(L, errorFuncRef); ObjectTranslator translator = luaEnv.translator; LuaAPI.lua_getref(L, luaReference); translator.Push(L, p0); translator.Push(L, p1); int __gen_error = LuaAPI.lua_pcall(L, 2, 0, err_func); if (__gen_error != 0) { luaEnv.ThrowExceptionFromError(err_func - 1); } LuaAPI.lua_settop(L, err_func - 1); #if THREAD_SAFT || HOTFIX_ENABLE } #endif }