当前位置: 首页 > news >正文

西安网站推广wordpress ppt插件

西安网站推广,wordpress ppt插件,河南中恒诚信建设有限公司网站,上海网页设计公司济南兴田德润简介电话好多开发者问我们#xff0c;Unity环境下#xff0c;除了RTSP或RTMP的播放#xff0c;如果有录像诉求#xff0c;怎么实现#xff1f;实际上录像相对播放来说#xff0c;更简单一些#xff0c;因为不涉及到绘制#xff0c;只要拉流下来数据#xff0c;直接写mp4文件就…好多开发者问我们Unity环境下除了RTSP或RTMP的播放如果有录像诉求怎么实现实际上录像相对播放来说更简单一些因为不涉及到绘制只要拉流下来数据直接写mp4文件就好了。 本文以大牛直播SDK的Windows平台为例大概介绍下如何实现Unity环境下的录制Linux、Android、iOS平台实现也类似都是原生接口然后对接下就好 开始录像 因为涉及到可能同时录制多路的场景考虑到磁盘读写IOWindows平台一般不建议多录录制录像的话需要考虑的是设置好文件录制规则比如是否录制纯音频或纯视频、单个录制文件大小、文件录制目录等并设置录像回调事件 /** SmartPlayerWinMono.cs* Author: daniusdk.com*/ private void StartRecorder(int sel) {Debug.Log(StartRecorder, sel: sel);if (videoctrl[sel].is_recording_){Debug.Log(StartRecorder, already started.. sel: sel);return;}if (!videoctrl[sel].is_playing_){if (!OpenPlayerHandle(sel)){Debug.LogError(call OpenPlayerHandle failed..);return;}}bool is_rec_video true;bool is_rec_audio true;NTSmartPlayerSDK.NT_SP_SetRecorderVideo(videoctrl[sel].player_handle_, is_rec_video ? 1 : 0);NTSmartPlayerSDK.NT_SP_SetRecorderAudio(videoctrl[sel].player_handle_, is_rec_audio ? 1 : 0);String rec_dir D:\\Rec; //录像目录可自行指定String rec_name_file_prefix_ daniu sel.ToString();UInt32 max_file_size 200 * 1024; // 单位是KByte, 默认200MBbool is_append_date true;bool is_append_time true;bool is_audio_transcode_aac true;UInt32 ret NTSmartPlayerSDK.NT_SP_SetRecorderDirectory(videoctrl[sel].player_handle_, rec_dir);if (NT.NTBaseCodeDefine.NT_ERC_OK ! ret){Debug.LogError(设置录像目录失败请确保目录存在且是英文目录);return;}NTSmartPlayerSDK.NT_SP_SetRecorderFileMaxSize(videoctrl[sel].player_handle_, max_file_size);NT_SP_RecorderFileNameRuler rec_name_ruler new NT_SP_RecorderFileNameRuler();rec_name_ruler.type_ 0;rec_name_ruler.file_name_prefix_ rec_name_file_prefix_;rec_name_ruler.append_date_ is_append_date ? 1 : 0;rec_name_ruler.append_time_ is_append_time ? 1 : 0;NTSmartPlayerSDK.NT_SP_SetRecorderFileNameRuler(videoctrl[sel].player_handle_, ref rec_name_ruler);NTSmartPlayerSDK.NT_SP_SetRecorderAudioTranscodeAAC(videoctrl[sel].player_handle_, is_audio_transcode_aac ? 1 : 0);videoctrl[sel].record_call_back_ new SP_SDKRecorderCallBack(NT_SP_SDKRecorderCallBack);NTSmartPlayerSDK.NT_SP_SetRecorderCallBack(videoctrl[sel].player_handle_, IntPtr.Zero, videoctrl[sel].record_call_back_);videoctrl[sel].set_record_call_back_ new VideoControl.SetRecordCallBack(RecordCallBack);if (NT.NTBaseCodeDefine.NT_ERC_OK ! NTSmartPlayerSDK.NT_SP_StartRecorder(videoctrl[sel].player_handle_)){Debug.LogError(call NT_SP_StartRecorder failed..);return;}videoctrl[sel].is_recording_ true; } 其中OpenPlayerHandle()实现如下通过调用Open()接口生成个player实例句柄然后后续针对这个句柄操作即可如果同一个实例句柄下需要播放直接调用播放接口就好了。 private bool OpenPlayerHandle(int sel) {if (videoctrl[sel].player_handle_ ! IntPtr.Zero)return true;window_handle_ IntPtr.Zero;if (videoctrl[sel].player_handle_ IntPtr.Zero){videoctrl[sel].player_handle_ new IntPtr();UInt32 ret_open NTSmartPlayerSDK.NT_SP_Open(out videoctrl[sel].player_handle_, window_handle_, 0, IntPtr.Zero);if (ret_open ! 0){videoctrl[sel].player_handle_ IntPtr.Zero;Debug.LogError(call NT_SP_Open failed, sel: sel);return false;}}videoctrl[sel].event_call_back_ new SP_SDKEventCallBack(NT_SP_SDKEventCallBack);NTSmartPlayerSDK.NT_SP_SetEventCallBack(videoctrl[sel].player_handle_, window_handle_, videoctrl[sel].event_call_back_);videoctrl[sel].sdk_event_call_back_ new VideoControl.SetEventCallBack(SDKEventCallBack);if (IntPtr.Zero videoctrl[sel].player_handle_)return false;/* 播放前参数配置可加在此处 */int play_buffer_time_ 100;NTSmartPlayerSDK.NT_SP_SetBuffer(videoctrl[sel].player_handle_, play_buffer_time_); //设置buffer timeint is_using_tcp 1; //TCP模式NTSmartPlayerSDK.NT_SP_SetRTSPTcpMode(videoctrl[sel].player_handle_, is_using_tcp);int timeout 10;NTSmartPlayerSDK.NT_SP_SetRtspTimeout(videoctrl[sel].player_handle_, timeout);int is_auto_switch_tcp_udp 1;NTSmartPlayerSDK.NT_SP_SetRtspAutoSwitchTcpUdp(videoctrl[sel].player_handle_, is_auto_switch_tcp_udp);Boolean is_mute_ false;NTSmartPlayerSDK.NT_SP_SetMute(videoctrl[sel].player_handle_, is_mute_ ? 1 : 0); //是否启动播放的时候静音int is_fast_startup 1;NTSmartPlayerSDK.NT_SP_SetFastStartup(videoctrl[sel].player_handle_, is_fast_startup); //设置快速启动模式Boolean is_low_latency_ false;NTSmartPlayerSDK.NT_SP_SetLowLatencyMode(videoctrl[sel].player_handle_, is_low_latency_ ? 1 : 0); //设置是否启用低延迟模式//设置旋转角度(设置0 90 180 270度有效其他值无效)int rotate_degrees 0;NTSmartPlayerSDK.NT_SP_SetRotation(videoctrl[sel].player_handle_, rotate_degrees);int volume 100;NTSmartPlayerSDK.NT_SP_SetAudioVolume(videoctrl[sel].player_handle_, volume); //设置播放音量, 范围是[0, 100], 0是静音100是最大音量, 默认是100// 设置上传下载报速度int is_report 0;int report_interval 2;NTSmartPlayerSDK.NT_SP_SetReportDownloadSpeed(videoctrl[sel].player_handle_, is_report, report_interval);//设置播放URLNTSmartPlayerSDK.NT_SP_SetURL(videoctrl[sel].player_handle_, videoctrl[sel].playback_url_);/* -- 播放前参数配置可加在此处 -- */return true; } 录像回调事件如下 public void RecordCallBack(UInt32 status, [MarshalAs(UnmanagedType.LPStr)] String file_name, int sel) {if (status 1) //status 1:表示开始写一个新录像文件{Debug.Log(RecordCallBack, 开始一个新的录像文件, sel: sel status: status , filename: file_name);}else if (status 2) //status 2:表示已经写好一个录像文件{Debug.Log(RecordCallBack, 已生成一个录像文件, sel: sel status: status , filename: file_name);} } 停止录像 private void StopRecorder(int sel) {Debug.Log(StopRecorder, sel: sel);if (videoctrl[sel].player_handle_ IntPtr.Zero){return;}NTSmartPlayerSDK.NT_SP_StopRecorder(videoctrl[sel].player_handle_);videoctrl[sel].is_recording_ false;if (!videoctrl[sel].is_playing_){NTSmartPlayerSDK.NT_SP_Close(videoctrl[sel].player_handle_);videoctrl[sel].player_handle_ IntPtr.Zero;} } 以上是Unity平台RTMP或RTSP播放端录像相关接口设计和调用实例感兴趣的开发者可以参考。
http://www.hkea.cn/news/14523719/

相关文章:

  • 易思espcms企业网站管理系统wordpress怎么分享到微信
  • 做网批的网站中国建设企业银行登录网站
  • 做毕设的网站万wordpress 数据库 插件
  • 如何给国外网站做seo徐州百姓网招聘信息网
  • 全栈网站开发工程师wordpress免费批量采集软件
  • 主页网站建设建网站买的是什么
  • 现在帮人做网站赚钱吗wordpress olam
  • 营销型科技网站建设wordpress接入外网域名
  • 徐州网站开发市场网站 竞争分析
  • 对红色网站建设的建议网站卖给别人后做违法信息
  • 网站关键词设置代码附近找工作8小时长白班
  • wordpress站点安装番禺网站制作技术
  • 建设部网站 专业评估东莞市手机网站建设
  • 百度做网站骗人到哪里去投诉网站开发用了哪些知识要点
  • 如何做能切换语言的网站郑州网站推广单位
  • 个人网站需要备案吗燕郊教育网站建设
  • 网站备案是域名备案还是主机备案wordpress博客导航
  • 网站默认首页怎么做视频网站界面设计
  • 网站的整体规划怎么写广告文案优秀网站
  • 网站收录查询代码制作网站的软件有哪些
  • 健身房网站的建设情况中国房地产app下载安装最新版
  • 绥化网站建设公司wordpress正文页面
  • 沂水网站设计11个免费网站空间
  • 2345电影新网站模板甘肃住房和城乡建设局网站
  • 静态网站 服务器做母婴网站设计思路
  • 建设上海公司网站网站网页制作企业
  • 上海知名网站建信用门户网站建设专家评价
  • 开办网站备案一级做a免费体验区不用下载网站
  • 建设网站费用记入什么科目合伙建网站
  • 做物流网站计划别墅装修设计公司哪家好