0

AMR ファイル形式でトラックを再生しようとすると。警告をスローします

権限の失敗: android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK

および libOpenSLES からのエラー

AudioSfDecoder::onPrepare: サポートされているオーディオ トラックが見つかりませんでした。

マニフェストファイルに権限を設定してみました。

    <!-- Allows an application to use any media decoder when decoding for playback
         @hide -->
    <permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"
         android:protectionLevel="signatureOrSystem"
         android:label="@string/permlab_anyCodecForPlayback"
         android:description="@string/permdesc_anyCodecForPlayback" />

しかし、それでも同じエラーがスローされます。

パーミッションを正しく設定していますか? 誰が私を助けてくれますか、何が欠けていますか。

4

1 に答える 1

0

AMRは、多くのデバイスのNDKではサポートされていません。外部AMRライブラリを使用できます。PCMレコーダー/プレーヤーを使用し、 opencore-amrを使用して手動でエンコードおよびデコードします。

これは私にとってはうまくいきます。

あなたの許可の問題に向けて:

android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK

正式な許可はありませんが、なぜここでこれを使用するのですか?私が知っているAndroidにはコーデック関連の権限はありません。

重要なのは、マイクアクセス用のRecord_Audioのみです。

于 2012-08-20T07:25:45.663 に答える