2016-06-22 2 views
0

を設定する場合、「『audio_encoder.aacを』標準コンポーネントの役割の設定に失敗しました」エラーは、次のコードは、AACエンコーダを構成するものであるMediaCodec

06-22 11:13:09.919 4203-4666/net.mydomain.myapp I/MediaCodec: Found 0 pieces of codec specific data. 
06-22 11:13:09.919 4203-4666/net.mydomain.myapp D/ACodec: onConfigureComponent 
06-22 11:13:09.919 4203-4666/net.mydomain.myapp E/OMXNodeInstance: setParameter(1:google.aac.decoder, ParamStandardComponentRole(0x1000017)) ERROR: Undefined(0x80001001) 
06-22 11:13:09.920 4203-4666/net.mydomain.myapp W/ACodec: [OMX.google.aac.decoder] Failed to set standard component role 'audio_encoder.aac'. 
06-22 11:13:09.920 4203-4666/net.mydomain.myapp E/ACodec: setComponentRole err 80000000 
06-22 11:13:09.920 4203-4666/net.mydomain.myapp E/ACodec: [OMX.google.aac.decoder] configureCodec returning error 80000000 
06-22 11:13:09.920 4203-4666/net.mydomain.myapp E/ACodec: signalError(omxError 0x80001001, internalError -2147483648) 
06-22 11:13:09.920 4203-4666/net.mydomain.myapp E/MediaCodec: Codec reported err 0x80001001, actionCode 0, while in state 3 
06-22 11:13:09.933 4203-4632/net.mydomain.myapp D/ACodec: [OMX.MTK.VIDEO.DECODER.AVC] onOutputBufferDrained ID 0xb4031220 
06-22 11:13:09.933 4203-4632/net.mydomain.myapp D/ACodec: queue NativeWindow 
06-22 11:13:09.941 4203-4665/net.mydomain.myapp E/MediaCodec: configure failed with err 0x80001001, resetting... 

これを解決する方法のヒントを教えてください。

コードに示されているように、the solution of this threadは既に実装されています。

答えて

1

あなたの問題はここにある:

mcAACEncoder = MediaCodec.createDecoderByType("audio/mp4a-latm"); 
mcAACEncoder.configure(mfAACEncoder, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE); 

あなたはエンコーダとして、それを使用したいが、あなたは実際に代わりデコーダコンポーネントを作成するのではなく、エンコーダの役割でそれを使用するようにしてください。これを修正するには、最初の行を次のように変更します。

mcAACEncoder = MediaCodec.createEncoderByType("audio/mp4a-latm"); 
+0

ありがとうございます。どのような恥ずかしい間違い! – Hong

関連する問題