0

RTP パケットを受信し、ペイロードを取得し、画像を画面に表示する Android MJPEG プレーヤーを作成する必要があります。

これは私がパケットを取得する方法です:

RTP.java

socket.receive(receive_packet);
rtp_packet = new RtpPacket(receive_packet.getData(), receive_packet.getLength());

RtpPacket.java

//Load header
header = new byte[12];
for(int i = 0; i < 12; i++)
    header[i] = packet[i];

//Load payload
int payload_length = size - 12;
payload = new byte[payload_length];
for (int i = 12; i < payload_length; i ++)
    payload[i-12] = packet[i];

//This is actually handled in the activity view, but it's here for testing purposes
Bitmap bmp = BitmapFactory.decodeByteArray(payload, 0, payload_length);

何らかの理由で、bmp は常に null です。ペイロードを確認しましたが、問題ないようです。これは byte[] 配列で、通常は 2000 ~ 4000 で、[-1、-40、-32、-0、16 など] のようになります。RTP パケットのヘッダー サイズは 12 であると確信しています。

これを修正する方法についての洞察を持っている人はいますか?

4

0 に答える 0