Пример #1
0
        public void DealVoipAuidoFrame(IntPtr ip, uint dwContextEnc)
        {
            FrameHeadrDec pFrmHdrDec = (FrameHeadrDec)Marshal.PtrToStructure(ip, typeof(FrameHeadrDec));

            if (pFrmHdrDec.data == IntPtr.Zero)
            {
                return;
            }
            PLAYFRAMEHDR hdr = new PLAYFRAMEHDR
            {
                m_byMediaType = pFrmHdrDec.mediaType,
                m_dwDataSize  = pFrmHdrDec.data_size,
                m_byFrameRate = 0,
                m_dwFrameID   = 0,
                m_dwTimeStamp = pFrmHdrDec.m_dwTimeStamp,
                union1        = new Anonymous_3d5d69df_3122_4137_83f1_a9b198afad7b
                {
                    m_tAudioParam = new Anonymous_0584d86c_3910_4038_bad0_69ed09db9a8d
                    {
                        m_byAudioMode = pFrmHdrDec.audio_mode,
                    }
                }
            };
            int Temp_int = Marshal.SizeOf(hdr);

            byte[] pD = new byte[pFrmHdrDec.data_size];
            Marshal.Copy(pFrmHdrDec.data, pD, 0, (int)pFrmHdrDec.data_size);
            byte[] pl    = PubMethod.StructToBytes(hdr);
            byte[] bytes = pl.Concat(pD).ToArray();
            uint   len   = Convert.ToUInt32(pFrmHdrDec.data_size + 40);
            bool   bol   = SDK_TLi.TLPlay_InputAudioData(m_hPlayPort, ref bytes[0], len);
        }
Пример #2
0
        public void get_encframe(IntPtr ip, uint dwContextEnc)
        {
            VideoPlayState = Enum_VideoPlayState.InPlayState;
            FrameHeadr   pFrmHdr      = (FrameHeadr)Marshal.PtrToStructure(ip, typeof(FrameHeadr));
            PLAYFRAMEHDR pLAYFRAMEHDR = new PLAYFRAMEHDR
            {
                m_byMediaType = pFrmHdr.mediaType,
                m_dwDataSize  = pFrmHdr.dataSize,
                m_byFrameRate = pFrmHdr.frameRate,
                m_dwFrameID   = pFrmHdr.frameID,
                m_dwTimeStamp = pFrmHdr.timeStamp
            };

            pLAYFRAMEHDR.union1.m_tVideoParam.m_bKeyFrame    = pFrmHdr.videoParam.keyFrame;
            pLAYFRAMEHDR.union1.m_tVideoParam.m_wVideoWidth  = pFrmHdr.videoParam.videoWidth;
            pLAYFRAMEHDR.union1.m_tVideoParam.m_wVideoHeight = pFrmHdr.videoParam.videoHeight;
            byte[] pl = StructToBytes(pLAYFRAMEHDR);
            byte[] pD = new byte[pFrmHdr.dataSize];
            Marshal.Copy(pFrmHdr.pData, pD, 0, (int)pFrmHdr.dataSize);
            byte[] bytes = pl.Concat(pD).ToArray();
            if (pFrmHdr.mediaType == 98)
            {
                uint len = Convert.ToUInt32(pFrmHdr.dataSize + 40);
                TLPlay_InputVideoData(m_hPlayPort, ref bytes[0], len);
            }
        }
Пример #3
0
        public void aduiocallback1(IntPtr ip, uint dwContextEnc)
        {
            Console.WriteLine("aduiocallback1");
            FrameHeadr   pFrmHdr = (FrameHeadr)Marshal.PtrToStructure(ip, typeof(FrameHeadr));
            PLAYFRAMEHDR hdr     = new PLAYFRAMEHDR
            {
                m_byMediaType = pFrmHdr.mediaType,
                m_dwDataSize  = pFrmHdr.dataSize,
                m_byFrameRate = pFrmHdr.frameRate,
                m_dwFrameID   = pFrmHdr.frameID,
                m_dwTimeStamp = pFrmHdr.timeStamp
            };

            hdr.union1.m_tVideoParam.m_bKeyFrame    = pFrmHdr.videoParam.keyFrame;
            hdr.union1.m_tVideoParam.m_wVideoWidth  = pFrmHdr.videoParam.videoWidth;
            hdr.union1.m_tVideoParam.m_wVideoHeight = pFrmHdr.videoParam.videoHeight;
            if (hdr.m_byMediaType == 22)
            {
                hdr.union1.m_tAudioParam.m_byAudioMode     = 16;
                hdr.union1.m_tAudioParam.m_byAudioRate     = 8000;
                hdr.union1.m_tAudioParam.m_byAudioEncType  = 22;
                hdr.union1.m_tAudioParam.m_byAudioDuration = 40;
            }
            else if (hdr.m_byMediaType == 22)
            {
                hdr.union1.m_tAudioParam.m_byAudioMode     = 16;
                hdr.union1.m_tAudioParam.m_byAudioRate     = 8000;
                hdr.union1.m_tAudioParam.m_byAudioEncType  = 23;
                hdr.union1.m_tAudioParam.m_byAudioDuration = 40;
            }
            byte[] pl = StructToBytes(hdr);
            byte[] pD = new byte[pFrmHdr.dataSize];
            Marshal.Copy(pFrmHdr.pData, pD, 0, (int)pFrmHdr.dataSize);
            byte[] bytes = pl.Concat(pD).ToArray();
            uint   len   = Convert.ToUInt32(pFrmHdr.dataSize + 40);

            TLPlay_InputVideoData(m_hPlayPort, ref bytes[0], len);
        }