我想加载
Android摄像头捕获的视频.所以我需要告诉android MediaRecorder将它的视频流写入我的CipherOutputStream.问题是MediaRecorder.setOutputFile()方法只接受FileDescriptor,并且无法从CipherOutputStream获取加密文件描述符.
所以我的问题是如何模拟FileDescriptor接收数据写入并手动进行加密或以某种方式说服MediaRecorder将视频流式传输到CipherOutputStream.
解决方法
您可以使用LocalServerSocket和LocalSocket来实现您想要的功能.
LocalServerSocket,它通过LocalServerSocket.getFileDescriptor()提供FileDescriptor
>启动LocalServerSocket.
>启动LocalSocket对象并连接到LocalServerSocket.
>调用LocalServerSocket.accept()以接受来自LocalSocket的连接.
>建立连接后,您可以从LocalServerSocket获取FileDescriptor.
>可以从LocalSocket.getInputStream()中检索Camera写入LocalServerSocket的每个字节,您可以使用for循环获取字节流并写入CipherOutputStream.
请记住将所有步骤放入新线程中.
我使用这些API来创建动态流处理器,并将Camera作为流源.
我希望这有帮助.