从服务器解码字节,然后使用Mediacodec在SurfaceView或某些播放器上呈现它

时间:2018-06-21 11:34:26

标签: android encoding decoding mediacodec mediamuxer

我正在开发一个应用程序,其中我将使用MediaCodec将来自服务器的视频/音频编码的字节通过同一网络上的套接字发送到接收器。

在接收器端,我已成功获取字节。现在,我想使用MediaCodec解码这些字节,并在SurfaceView或Some player上显示它们。

下面是接收字节的代码:

  Thread serverThread = null;

  startServer();

 private void startServer() {

    this.serverThread = new Thread(new SocketThread());
    this.serverThread.start();
}

 private class SocketThread implements Runnable {
    @Override
    public void run() {

        Socket socket;
        try {
            serverSocket = new ServerSocket(SERVER_PORT);
        } catch (IOException e) {
            e.printStackTrace();
        }

        if (null != serverSocket) {
            while (!Thread.currentThread().isInterrupted()) {
                try {
                    socket = serverSocket.accept();
                    CommunicationThread commThread = new CommunicationThread(socket);
                    new Thread(commThread).start();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }


    class CommunicationThread implements Runnable {

        InputStream in;
        DataInputStream dis;

        public CommunicationThread(Socket clientSocket) {


            updateMessage("Server Started...");
        }

        public void run() {

            while (!Thread.currentThread().isInterrupted()) {

                try {

                    byte[] data = new byte[512];

                    fos.write(data);

                    // in.read(data, 0, data.length);


                } catch (Exception e) {                 

                    e.printStackTrace();

                    try {
                        fos.close();
                    } catch (Exception e1) {

                        e1.printStackTrace();
                    }
                }
            }
        }
    }
}

在byte []数据数组中成功接收了字节。

现在,我想使用MediaCodec解码这些字节并在SurfaceView或播放器上播放它们。

为此,我关注了以下链接,但未获得适当的了解:

Mediacodec, decode byte packet from server and render it on surface

MediaCodec

我最后被困在这里。请提供一些信息,以便我进一步进行操作。

0 个答案:

没有答案