<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                下面應用一個簡單的例子,演示一個 AnyChat Codec 庫的框架代碼,實現音頻的 CELT 編碼、解碼模塊(不包含音頻編解碼算法部分)。 如需要完整的示例工程源代碼,請與佰銳科技技術支持中心聯系,我們將安排專業工程師提供技術協助。 ~~~ // 獲取庫基本信息 DWORD MediaCodec_GetLibraryInfo(DWORD* dwCapability, DWORD* dwMainVer, DWORD* dwSubVer, CHAR* lpCompileTime, DWORD dwBufLen) { // 版本信息 *dwMainVer = 1; *dwSubVer = 0; // 編譯時間 if(dwBufLen && lpCompileTime) _snprintf(lpCompileTime,dwBufLen,"%s %s", DATE , TIME ); // 庫的編解碼能力(非常重要,庫實現某一種編解碼器時,才能加上對應的標志) *dwCapability = MEDIACODEC_CAPABILITY_AUDIOENCODEC | MEDIACODEC_CAPABILITY_AUDIODECODEC; return 0; } // 獲取編解碼器基本信息 DWORD MediaCodec_GetCodecInfo(DWORD dwCodecType, DWORD* dwCodecId, CHAR* lpCodecName, DWORD dwBufLen) { DWORD ret = -1; if(dwCodecType & MEDIACODEC_CAPABILITY_AUDIOENCODEC) { *dwCodecId = MEDIA_CODEC_ID_CELT; if(lpCodecName && dwBufLen) _snprintf(lpCodecName, dwBufLen, "%s", "CELT Audio Encoder"); ret = 0; } else if(dwCodecType & MEDIACODEC_CAPABILITY_AUDIODECODEC) { *dwCodecId = MEDIA_CODEC_ID_CELT; if(lpCodecName && dwBufLen) _snprintf(lpCodecName, dwBufLen, "%s", "CELT Audio Decoder"); ret = 0 } return ret; } // 打開音頻編碼器 DWORD MediaCodec_AudioCodec_InitEncoder(MediaCodecContext* lpContext) { return CCeltCodec::InitEncoder(lpContext); } // 對音頻進行編碼 DWORD MediaCodec_AudioCodec_Encode(MediaCodecContext* lpContext, MediaPacket* InPacket, MediaPacket* OutPacket) { return CCeltCodec::Encode(lpContext, InPacket, OutPacket); } // 關閉音頻解碼器 DWORD MediaCodec_AudioCodec_CloseEncoder(MediaCodecContext* lpContext) { return CCeltCodec::CloseEncoder(lpContext); } // 打開音頻解碼器 DWORD MediaCodec_AudioCodec_InitDecoder(MediaCodecContext* lpContext) { return CCeltCodec::InitDecoder(lpContext); } // 對音頻流進行解碼 DWORD MediaCodec_AudioCodec_Decode(MediaCodecContext* lpContext, MediaPacket* InPacket, MediaPacket* OutPacket) { return CCeltCodec::Decode(lpContext, InPacket, OutPacket); } // 關閉音頻解碼器 DWORD MediaCodec_AudioCodec_CloseDecoder(MediaCodecContext* lpContext) { return CCeltCodec::CloseDecoder(lpContext); } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看