今天小編給大家分享一下C++聯合體如何轉換成C#結構的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

成都創(chuàng)新互聯主營陸川網站建設的網絡公司,主營網站建設方案,App定制開發(fā),陸川h5小程序制作搭建,陸川網站營銷推廣歡迎陸川等地區(qū)企業(yè)咨詢
備注:對于官方這個UNION示例,我的簡單理解,就是這類UNION做法,可適當代替IF ELSE 之類操作。
解決問題:如果只接收視頻解碼數據,而從不接收音頻數據,那么是否可以直接定義結構體,并以此來獲取視頻數據。
/// <summary>
/// * @struct tagTFrameInfo_YUV420
/// * @brief 解碼后幀信息結構(包括音頻和視頻)
/// * @attention 如果只接收視頻解碼數據,而從不接收音頻數據,那么是否可以直接定義結構體,并以此來獲取視頻數據
/// * @原型定義:
/// 解碼后幀信息結構(包括音頻和視頻)
/// typedef struct tagTFrameInfo
/// {
/// BYTE m_byMediaType; // 媒體類型(PCM或YUV420)
/// DWORD m_dwTimeStamp; // 時間戳
/// union
/// {
/// BYTE m_byBitCount; // 為YUV時的顏色bit位數
/// BYTE m_bStereo; // 為PCM時的聲道值
/// };
/// union
/// {
/// WORD m_wVideoWidth; // 視頻幀寬
/// WORD m_wBitRate; // 采樣bit率(如8000)
/// };
/// union
/// {
/// WORD m_wVideoHeight;// 視頻幀寬
/// WORD m_wBand; // 采樣的位數(如16)
/// };
/// }TFrameInfo,*PFrameInfo;
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct tagTFrameInfo_YUV420
{
/// <summary>
/// 媒體類型(0:yuv420; 1:pcm; 2:rgb32: 3:uyvy; 4:YV12),pcm是音頻
/// @原型:BYTE m_byMediaType; // 媒體類型(1:PCM或0:YUV420)
/// </summary>
public byte m_byMediaType; /** 媒體類型(0:yuv420; 1:pcm; 2:rgb32: 3:uyvy; 4:YV12),pcm是音頻 */
/// <summary>
/// 時間戳
/// @原型:DWORD m_dwTimeStamp; // 時間戳
/// </summary>
public UInt32 m_dwTimeStamp; /** 時間戳 */
// YUV
/// <summary>
/// 為YUV時的顏色bit位數
/// @原型:BYTE m_byBitCount; //為YUV時的顏色bit位數
/// </summary>
public byte m_byBitCount; /** 為YUV時的顏色bit位數 */
/// <summary>
/// 視頻幀寬
/// @原型:WORD m_wVideoWidth; //視頻幀寬
/// </summary>
public UInt16 m_wVideoWidth; /** 視頻幀寬 */
/// <summary>
/// 視頻幀寬
/// @原型:WORD m_wVideoHeight; //視頻幀寬
/// </summary>
public UInt16 m_wVideoHeight; /** 視頻幀寬 */
}以上就是“C++聯合體如何轉換成C#結構”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注創(chuàng)新互聯行業(yè)資訊頻道。
本文標題:C++聯合體如何轉換成C#結構
文章來源:http://chinadenli.net/article46/gejjhg.html
成都網站建設公司_創(chuàng)新互聯,為您提供微信小程序、軟件開發(fā)、網站建設、網站導航、網站內鏈、
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯