參考教程分析_第1頁
參考教程分析_第2頁
參考教程分析_第3頁
參考教程分析_第4頁
參考教程分析_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

庫使用說明書 操 對 .................................................................................................................................. 控 版本更新說明 D3D顯示支持,默認(rèn)顯示為HIPLAYERGetDisplayModeHIPLAYERD3D模式下圖像疊加開關(guān) 絡(luò)庫中,NetLib.dllHI_NET_DEV_StartRecordHI_NET_DEV_StopRecord為新錄 HIPLAYEROpenFile支持AVI文件 v2.0.1.82011-03-HIPLAYERSetStreamOpenMode設(shè)置模式HIPLAYERGetStreamOpenMode獲取模式HIPLAYEROpenStream設(shè)置音屬性HIPLAYERInputData輸入復(fù)合流接口HI_PLAYER_ResetSourceBuffer清空緩存HIPLAYERGetBufferValue獲取緩存使用率HIPLAYERGetCurrentPts獲取當(dāng)前的時間戳HIPLAYERFast快放,最多X4HI_PLAYER_Slow慢放,最多X4 修改YUV回調(diào)函數(shù)HIPLAYERSetDecCallBack接口,調(diào)用回調(diào)函數(shù)只回調(diào)出 修改接口控制接口HIPLAYERSnapBMP和HIPLAYERSnapJPEG,修改后直接輸入 添加控制接口HIPLAYERPauseDecode和HIPLAYER一、功能說明庫主要功能庫文件說明庫H.264H.264二、編程導(dǎo)引實時流、文件流模式庫庫將庫庫 文件模式庫庫 三、數(shù)據(jù)類型定義說明typedefunsignedchar typedefunsignedchar typedefunsignedshort typedefunsignedint typedefsigned typedef typedef #ifndeftypedefunsignedlonglongHI_U64;typedeflonglong typedef typedefint64 typedef typedef typedef typedef typedef typedefunsignedlong typedefunsignedlong typedefenum = =}#ifndef#defineNULL #defineHI_NULL #define #define #define 四、函數(shù)說明初始化銷毀HRESULT( HRESULT( [IN]庫句柄,提供之后的操作使HRESULTHI_PLAYER_Uninitialize(PLAYHANDLE HRESULTHI_PLAYER_Uninitialize(PLAYHANDLE [IN]銷毀數(shù)據(jù)回調(diào)HRESULTHI_PLAYER_SetDecCallBack(PLAYHANDLE HRESULTHI_PLAYER_SetDecCallBack(PLAYHANDLE HI_PLAYER_DecCallBackCallBack,HI_VOID* [IN]庫句[IN]數(shù)據(jù)回[IN]Callback constPLAYER_FRAME_INFO_S*pFrameInfo, CallbackFunctiontypedefstructhi{HI_U8*pY; //后數(shù)據(jù)Y分量HI_U8*pU; //后數(shù)據(jù)U分量HI_U8*pV; //后數(shù)據(jù)V分量longnWidth; longnHeight;//longnType; longnYPich;long} HRESULTHRESULTHI_PLAYER_SetStateCallBack(PLAYHANDLE HI_PLAYER_StateCallBackCallBack,HI_VOID* [IN]庫句[IN]狀態(tài)回[IN]Callback PLAYER_STATE_ID_EeStateID, CallbackFunctiontypedefenum{PLAYER_STATE_PLAY0,// 設(shè)置屬性HRESULTHRESULTHI_PLAYER_SetDrawWnd [IN]庫句[IN]進(jìn)行顯示;只有再次設(shè)置pWnd為非空時,才能再次顯示。(PLAYHANDLE (PLAYHANDLE [IN]庫句[IN流模式,文件流-HI_STREAM_FILE、實時流-HI_STREAM_REALTIME默認(rèn)為HI_STREAM_REALTIME模式。HI_STREAM_REALTIME適用于網(wǎng)絡(luò)實時流數(shù)據(jù),輸入后器會立即;認(rèn)情況下不調(diào)用則視為HI_STREAM_REALTIME模式。 (PLAYHANDLE [IN]庫句返回值是HRESULTHI_PLAYER_OpenStream(PLAYHANDLE [IN]庫句[IN]頭文件數(shù)據(jù)。結(jié)構(gòu)體HI_S_SysHeader[IN]需將HI_S_SysHeader頭文件結(jié)構(gòu)體輸入函數(shù),就實現(xiàn)對音流屬性的初始化;后者需自相似接口可查閱HIPLAYERSetMediaAttr HRESULTHI_PLAYER_SetMediaAttr [IN]庫句[IN]typedefenum{PLAYER_ATTR__STREAM=0, PLAYER_ATTR__OUTPUT=1, PLAYER_ATTR_AUDIO_STREAM=2, PLAYER_ATTR_AUDIO_ENCODE=3, [IN]頻壓縮屬性等,該函數(shù)使用在HIPLAYERPlay之前,其用法如下:HI_PLAYER_SetMediaAttr PLAYER_ATTR__STREAM,//設(shè)置標(biāo)&stVStreamAttr stVStreamAttr定義為PLAYER_ATTR__STREAM_StypedefstructhiPLAYER_ATTR__STREAM_S{ } 注:lBitRate為單幀醉倒的碼率,如2*1024*10242M碼率,碼率一定要大于實際的碼率。如1.5M的碼率,我們設(shè)為2M;lFrameRate幀率一般設(shè)置為25 =s32PicWidth; =s32PicHeight; struAVAttr.struVAttr.lFrameRate=25;HI_PLAYER_SetMediaAttr PLAYER_ATTR_AUDIO_STREAM,//設(shè)置音頻標(biāo)志 stAStreamAttr定義為PLAYER_ATTR_AUDIO_StypedefstructhiPLAYER_ATTR_AUDIO_S{ //audio'ssamplesper //bitsper //audio'sbit }注:lBitsPerSample=lBitRate/lSamplesPerSec======== =64000; = = = = = =0; HRESULTHI_PLAYER_GetMediaAttr(PLAYHANDLE HRESULTHI_PLAYER_GetMediaAttr(PLAYHANDLE [IN]庫句[IN]typedefenum{PLAYER_ATTR__STREAM=0, PLAYER_ATTR__OUTPUT=1, PLAYER_ATTR_AUDIO_STREAM=2, PLAYER_ATTR_AUDIO_ENCODE=3, [OUT] 操作HRESULTHRESULTHI_PLAYER_Play [IN]庫句初始化函數(shù)的使用請查閱4.3章HI_PLAYER_SetMediaAttr函數(shù)。HRESULTHI_PLAYER_Stop HRESULTHI_PLAYER_Stop [IN]庫句音流操作HRESULT( HI_U8 [IN]庫句[IN]]HI_SUCCESSHI_FAILURE,表示緩存已經(jīng)到達(dá)上限,需要等待需要在流開始后輸入才有效。HI_PLAYER_InputData用于復(fù)合流的輸入,不區(qū)分音視頻分開的方式輸入,pBuf不包含幀頭。相似接口請查閱HIPLAYERInputDataEx、HIPLAYERInputAudioDataHRESULTHI_PLAYER_InputDataHI_U8[IN]庫句[IN]流數(shù)據(jù)(不包含幀頭[IN][IN]HRESULTHI_PLAYER_InputDataExHI_U8[IN]庫句[IN]流數(shù)據(jù)(不包含幀頭[IN][IN]關(guān)鍵[IN]HI_PLAYER_InputData使用在回調(diào)數(shù)據(jù)不是完整幀的情況,由庫對數(shù)據(jù)進(jìn)行組幀;只需要調(diào)用HI_PLAYER_InputDataEx函數(shù)即可,庫就不再進(jìn)行組幀。HRESULTHI_PLAYER_InputAudioData( HI_U8 HRESULTHI_PLAYER_InputAudioData( HI_U8 [IN]庫句[IN]流數(shù)據(jù)(不包含幀頭[IN][IN]對HRESULTHI_PLAYER_StartTalk(PLAYHANDLE HRESULTHI_PLAYER_StartTalk(PLAYHANDLE [IN]庫句[IN][IN]Callback CallbackFunction

參閱HI_NET_DEV_SendVoiceData函數(shù)使用說明。HRESULTHI_PLAYER_StopTalk(PLAYHANDLE HRESULTHI_PLAYER_StopTalk(PLAYHANDLE [IN]庫句HRESULTHI_PLAYER_SnapBMPHRESULTHI_PLAYER_SnapBMP HI_CHAR [IN]庫句[IN]文件路徑+ HRESULTHI_PLAYER_SnapJPEG [IN]庫句[IN]文件路徑+[INJPG100聲音操作HRESULTHI_PLAYER_SetMute HRESULTHI_PLAYER_SetMute [IN]庫句[IN]typedefenum{PLAYER_AUDIO_OUT=0, PLAYER_AUDIO_IN=1 [IN]開關(guān),TRUE-HRESULTHI_PLAYER_GetMute HRESULTHI_PLAYER_GetMute [IN]庫句[IN]typedefenum{PLAYER_AUDIO_OUT=0, PLAYER_AUDIO_IN=1 [OUT]開關(guān),TRUE-HRESULTHRESULT(PLAYHANDLE [IN]庫句[IN]typedefenum{PLAYER_AUDIO_OUT=0, PLAYER_AUDIO_IN=1 [IN左聲道聲音大小,范圍[0,0xFFFF][IN]右聲道聲音大小,范圍HRESULT([IN]庫句[IN]typedefenum{PLAYER_AUDIO_OUT=0, PLAYER_AUDIO_IN=1 [OUT左聲道聲音大小,范圍[0,0xFFFF][OUT]右聲道聲音大小,范圍文件操作HRESULTHI_PLAYER_OpenFile(PLAYHANDLE HI_U8 HRESULTHI_PLAYER_OpenFile(PLAYHANDLE HI_U8 [IN]庫句[IN]打開文件后,用HIPLAYERPlay,HIPLAYERStop進(jìn)行、停止等操作HRESULTHI_PLAYER_CloseFile(PLAYHANDLE HRESULTHI_PLAYER_CloseFile(PLAYHANDLE [IN]庫句HRESULTHI_PLAYER_Pause HRESULTHI_PLAYER_Pause [IN]庫句 HRESULTHI_PLAYER_SetPlayPos [IN]庫句[IN]位置,范圍HRESULTHI_PLAYER_GetPlayPos(PLAYHANDLE HRESULTHI_PLAYER_GetPlayPos(PLAYHANDLE [IN]庫句[OUT]位置,范圍HRESULTHI_PLAYER_SetRate HRESULTHI_PLAYER_SetRate [IN]庫句HRESULTHI_PLAYER_GetRate HRESULTHI_PLAYER_GetRate [IN]庫句[OUT]速HRESULTHI_PLAYER_Fast HRESULTHI_PLAYER_Fast [IN]庫句每調(diào)用一次速度將快一倍,最多可以調(diào)用4次,超過4次將恢復(fù)到正常速度,直接恢復(fù)正常速度可以使用HIPLAYERPlay()。如果直接調(diào)整速度值可以調(diào)用相似接口HIPLAYERSetRate();HRESULTHI_PLAYER_Slow HRESULTHI_PLAYER_Slow [IN]庫句每調(diào)用一次速度將慢一倍,最多可以調(diào)用4次,超過4次將恢復(fù)到正常速度,直接恢復(fù)正常速度可以使用HIPLAYERPlay()。如果直接調(diào)整速度值可以調(diào)用相似接口HRESULTHI_PLAYER_OneByOne HRESULTHI_PLAYER_OneByOne [IN]庫句HRESULT(PLAYHANDLE PLAYER_ATTR_FILE_S*HRESULT(PLAYHANDLE PLAYER_ATTR_FILE_S*[IN]庫句[OUT]文件屬typedefstruct{unsignedcharu8FormatName[256]; unsignedcharu8FileName[512]; PLAYER_DURATION_SstruDuration; unsignedint ints32 //stream'sint //audiostream's }HRESULT(PLAYHANDLE[IN]庫句[IN]typedefenum{PLAYER_STATE_PLAY0,// [OUT]HRESULTHI_PLAYER_GetPlayTime(PLAYHANDLE HI_S32 HRESULTHI_PLAYER_GetPlayTime(PLAYHANDLE HI_S32 [IN]庫句[OUT]當(dāng)前文件時4.10控制HRESULTHI_PLAYER_PauseDecode(PLAYHANDLE HRESULTHI_PLAYER_PauseDecode(PLAYHANDLE [IN]庫句HRESULTHI_PLAYER_ResumeDecode(PLAYHANDLE HRESULTHI_PLAYER_ResumeDecode(PLAYHANDLE [IN]庫句流緩沖操作 (PLAYHANDLE [IN]庫句9000,在實時流模式下最大值為6

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論