程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C++結合體轉換成C#構造的完成辦法

C++結合體轉換成C#構造的完成辦法

編輯:C#入門知識

C++結合體轉換成C#構造的完成辦法。本站提示廣大學習愛好者:(C++結合體轉換成C#構造的完成辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C++結合體轉換成C#構造的完成辦法正文


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

比來由於項目中碰到了C++結合體轉換成C#構造的情形,查了許多材料才轉換勝利。

備注:關於官方這個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;     /** 視頻幀寬 */
}

感興致的讀者可以對此調試運轉一下,願望對年夜家有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved