private static ulong AudioDataSyncCallback(IntPtr data, ulong size, double sample_rate, IntPtr userData) { if (userData != IntPtr.Zero) { try { AudioDataSyncHandler AudioDataSyncCb = NimUtility.DelegateConverter.ConvertFromIntPtr <AudioDataSyncHandler>(userData); if (AudioDataSyncCb != null) { AudioDataSyncCb(data, ref size, Convert.ToInt32(sample_rate)); } } catch { } } return(size); }
/// <summary> /// 监听采集音频数据 同步操作,Android ios有效 /// </summary> /// <param name="handler">回调</param> /// <returns>无返回值</returns> public static void SetAudioCaptureDataSyncCb(AudioDataSyncHandler handler) { var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(handler); DeviceNativeMethods.nim_vchat_set_audio_data_sync_cb(AudioDataSyncCb, "", ptr); }