天天看點

Android MediaMuxer使用遇到的問題

1.IllegalStateException問題 MediaMuxer的使用必須嚴格遵循如下順序: addTrack->start->writeSampleData->stop->release 如果有順序沖突或者多次調用start、stop、release,會導緻IllegalStateException 在使用MediaMuxer時,經常遇到的場景是在兩個不同的Thread中分别執行音視訊的錄制+編碼,是以需要等待兩個線程都執行完addTrack之後,再start

2.stop fail的問題 addTrack的時候,傳入的MediaFormat需要從對應的MediaCodec執行個體調用MediaCodec.getOutputFormat()得到,否則stop的時候會發生Exception