NDAC AMediaCodec API를 사용하여 AAC를 성공적으로 디코딩 할 수 있지만 오디오가 재생되지 않습니다.안드로이드에서 AAC 오디오를 디코딩 할 때 MediaCodec이 디코딩되지만 아무런 출력도들을 수 없습니다.
AMediaFormat_setString(format, AMEDIAFORMAT_KEY_MIME, "audio/mp4a-latm");
AMediaFormat_setInt32(format, AMEDIAFORMAT_KEY_CHANNEL_COUNT, 2);
AMediaFormat_setInt32(format, AMEDIAFORMAT_KEY_SAMPLE_RATE, 44100);
AMediaFormat_setInt32(format, AMEDIAFORMAT_KEY_IS_ADTS, 0);
uint8_t es[2] = { 0x12, 0x12 };
AMediaFormat_setBuffer(format, "csd-0", es, 2);
그리고 여기에 내가 디코딩 할 수있는 작업은 다음과 같습니다 : 여기
내 구성의 I 오류를받지 못했습니다ssize_t inputIndex = AMediaCodec_dequeueInputBuffer(decoder, kInputTimeout);
uint8_t* inputBuf = AMediaCodec_getInputBuffer(decoder, inputIndex, &inputSize);
// Copy AAC data into inputBuf ...
AMediaCodec_queueInputBuffer(decoder, inputIndex, 0, aacSize, pts, 0);
ssize_t outputIndex = AMediaCodec_dequeueOutputBuffer(decoder, &outputBufferInfo, kOutputTimeout);
if(outputIndex >= 0)
{
AMediaCodec_releaseOutputBuffer(decoder, outputIndex, true);
}
을, 그리고 그것을 것 같다, 그래서 outputBufferInfo.presentationTimeUs
는 적절하게 업데이트되는 디코딩. 그러나 오디오가 출력되지 않습니다. 오디오의 경우 releaseOutputBuffer
이 맞습니까? 나는 true
과 false
모두에 대해 render
부울 매개 변수를 설정하려했지만 둘 다 침묵합니다.
MediaCodec
은 비디오처럼 오디오를 출력합니까?