동일한 MediaCodec
개체에 액세스하는 두 개의 스레드가 있으며 동시에 실행해야 할 수도 있습니다. 이제 문제가 있습니다 : 두 스레드가 동시에 실행될 때 코드는 다음과 같습니다.MediaCodec 다중 스레드 참조
try {
mediaCodec.releaseOutputBuffer(encoderStatus, false);
} catch (IllegalStateException e) {
e.printStackTrace();
}
이 코드를 어떻게 처리합니까?
두 스레드가 동일한 mediaCodec 개체를 참조하기 때문에이 코드를 실행하는 스레드 중 하나가 mediaCodec
에 대한 다른 스레드의 참조에 영향을주고 다른 스레드는 정상적으로 실행할 수 없습니다. 그것을 해결하는 방법?
그냥 'mediaCodec' 개체에서 동기화 하시겠습니까? 우리는 당신이 무엇을 더 알기 위해 노력하는지 알지 못합니다. – SOFe
나는 안드로이드 전화의 화면을 recorde하고 같은 시간에 전화에 MP4 파일을 저장하는 동안 그것을 PC에 밀어하려고합니다. 나는 스트림을 얻으려면 mediaCodec 개체를 사용하여 파일로 저장하려면 하나의 스레드를 사용하십시오 다른 스레드가 PC에 푸시합니다. 그러나 mediaCodec.releaseOutputBuffer (encoderStatus, false)를 실행하면 서로 영향을 미칩니다. 수정 방법을 모르겠습니다. – Max