欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++聯(lián)合體轉(zhuǎn)換成C#結(jié)構(gòu)的實(shí)現(xiàn)方法

 更新時(shí)間:2014年08月12日 08:59:24   投稿:shichen2014  
這篇文章主要介紹了C++聯(lián)合體轉(zhuǎn)換成C#結(jié)構(gòu)的實(shí)現(xiàn)方法,需要的朋友可以參考下

本文實(shí)例主要參考MSDN:http://msdn.microsoft.com/zh-cn/library/ya9bz4ha%28v=vs.80%29.aspx

最近因?yàn)轫?xiàng)目中遇到了C++聯(lián)合體轉(zhuǎn)換成C#結(jié)構(gòu)的情況,查了很多資料才轉(zhuǎn)換成功。

備注:對(duì)于官方這個(gè)UNION示例,我的簡(jiǎn)單理解,就是這類UNION做法,可適當(dāng)代替IF ELSE 之類操作。

解決問題:如果只接收視頻解碼數(shù)據(jù),而從不接收音頻數(shù)據(jù),那么是否可以直接定義結(jié)構(gòu)體,并以此來(lái)獲取視頻數(shù)據(jù)。

/// <summary>
/// * @struct tagTFrameInfo_YUV420
/// * @brief 解碼后幀信息結(jié)構(gòu)(包括音頻和視頻)
/// * @attention 如果只接收視頻解碼數(shù)據(jù),而從不接收音頻數(shù)據(jù),那么是否可以直接定義結(jié)構(gòu)體,并以此來(lái)獲取視頻數(shù)據(jù)
/// * @原型定義:
/// 解碼后幀信息結(jié)構(gòu)(包括音頻和視頻)
/// typedef struct tagTFrameInfo
/// {
///   BYTE   m_byMediaType; // 媒體類型(PCM或YUV420)
///   DWORD  m_dwTimeStamp; // 時(shí)間戳  
///   union
///   {
///     BYTE   m_byBitCount; // 為YUV時(shí)的顏色bit位數(shù) 
///     BYTE   m_bStereo; // 為PCM時(shí)的聲道值
///   };
///   union
///   {
///     WORD   m_wVideoWidth; // 視頻幀寬
///     WORD m_wBitRate; // 采樣bit率(如8000)
///   };
///   union
///   {
///     WORD   m_wVideoHeight;// 視頻幀寬
///     WORD  m_wBand; // 采樣的位數(shù)(如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>
  /// 時(shí)間戳
  /// @原型:DWORD  m_dwTimeStamp; // 時(shí)間戳
  /// </summary>
  public UInt32 m_dwTimeStamp;     /** 時(shí)間戳 */

  // YUV
  /// <summary>
  /// 為YUV時(shí)的顏色bit位數(shù)
  /// @原型:BYTE   m_byBitCount; //為YUV時(shí)的顏色bit位數(shù)
  /// </summary>
  public byte m_byBitCount;     /** 為YUV時(shí)的顏色bit位數(shù) */

  /// <summary>
  /// 視頻幀寬
  /// @原型:WORD   m_wVideoWidth; //視頻幀寬
  /// </summary>
  public UInt16 m_wVideoWidth;     /** 視頻幀寬 */

  /// <summary>
  /// 視頻幀寬
  /// @原型:WORD   m_wVideoHeight; //視頻幀寬
  /// </summary>
  public UInt16 m_wVideoHeight;     /** 視頻幀寬 */
}

感興趣的讀者可以對(duì)此調(diào)試運(yùn)行一下,希望對(duì)大家有所幫助。

相關(guān)文章

  • C#正則表達(dá)式Regex類用法實(shí)例分析

    C#正則表達(dá)式Regex類用法實(shí)例分析

    這篇文章主要介紹了C#正則表達(dá)式Regex類用法,實(shí)例分析了其中比較常見的幾類用法,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • C#中的問號(hào)(?號(hào))用法小結(jié)

    C#中的問號(hào)(?號(hào))用法小結(jié)

    這篇文章主要介紹了C#中的問號(hào)(?號(hào))用法小結(jié),本文介紹了3種用法,分別作為修飾符、運(yùn)算符的用法,需要的朋友可以參考下
    2014-07-07
  • C#編程讀取文檔Doc、Docx及Pdf內(nèi)容的方法

    C#編程讀取文檔Doc、Docx及Pdf內(nèi)容的方法

    這篇文章主要介紹了C#編程讀取文檔Doc、Docx及Pdf內(nèi)容的方法,涉及C#操作COM組件讀取Doc、Docx及Pdf文檔的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • C#使用SendMessage實(shí)現(xiàn)進(jìn)程間通信的方法

    C#使用SendMessage實(shí)現(xiàn)進(jìn)程間通信的方法

    這篇文章主要介紹了C#使用SendMessage實(shí)現(xiàn)進(jìn)程間通信的方法,涉及C#中SendMessage方法的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • C# datagrid非常規(guī)方法實(shí)現(xiàn)添加合并列

    C# datagrid非常規(guī)方法實(shí)現(xiàn)添加合并列

    這篇文章主要介紹了C# datagrid非常規(guī)方法實(shí)現(xiàn)添加合并列,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • C#使用OpenCvSharp實(shí)現(xiàn)透視變換功能

    C#使用OpenCvSharp實(shí)現(xiàn)透視變換功能

    這篇文章主要為大家詳細(xì)介紹了C#如何使用OpenCvSharp實(shí)現(xiàn)透視變換的功能,文中的示例代碼簡(jiǎn)潔易懂,具有一定的學(xué)習(xí)價(jià)值,需要的小伙伴可以參考下
    2023-11-11
  • Unity中3DText顯示模糊不清的解決方案

    Unity中3DText顯示模糊不清的解決方案

    這篇文章主要介紹了Unity中3DText顯示模糊不清的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • C#中Task.Yield的用途深入講解

    C#中Task.Yield的用途深入講解

    這篇文章主要給大家介紹了關(guān)于C#中Task.Yield的用途的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • C#使用foreach循環(huán)遍歷數(shù)組完整實(shí)例

    C#使用foreach循環(huán)遍歷數(shù)組完整實(shí)例

    這篇文章主要介紹了C#使用foreach循環(huán)遍歷數(shù)組,結(jié)合完整實(shí)例形式較為詳細(xì)的分析了C#遍歷數(shù)組的相關(guān)技巧,需要的朋友可以參考下
    2016-06-06
  • C#服務(wù)器NFS共享文件夾搭建與上傳圖片文件的實(shí)現(xiàn)

    C#服務(wù)器NFS共享文件夾搭建與上傳圖片文件的實(shí)現(xiàn)

    本文主要介紹了C#服務(wù)器NFS共享文件夾搭建與上傳圖片文件的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07

最新評(píng)論