1

開発中のアプリで mp4 ビデオを再生しようとしていますが、エミュレーターでアプリを実行するたびに、特定のデバイスで次のエラーが発生します。

ERROR/MemoryHeapBase(34): /dev/pmem_adsp を開くときにエラーが発生しました: そのようなファイルまたはディレクトリはありません

これが何を意味するのかわかりません。グーグルで検索すると、OSのカスタムビルドに関係するこれらすべての応答が表示されました。これは、私がやろうとしていないことでも、まったくやりたくないことでもあります。アプリで mp4 ビデオを再生したいだけですが、何か提案はありますか?? ちなみに、Nexus oneでは問題なく動作します。

コードは次のとおりです。

try {
        AssetFileDescriptor fileDesc = getVideoFileDescriptor();
        if (fileDesc != null) {
            player.setDataSource(fileDesc.getFileDescriptor(), fileDesc.getStartOffset(), fileDesc.getLength());

            fileDesc.close();

            player.prepare();

            player.setDisplay( holder );
            player.setOnCompletionListener( this );
            player.start();
        }

    }
    catch (Exception e) {
        Log.e( Constants.TAG, "Unable to play intro movie", e );
    }
4

1 に答える 1

1

事実、高度なデジタル信号プロセッサ (adsp) を制御するデバイスの物理メモリ (/dev/pmem_) へのドライバのマッピング ファイルシステムを探しています。あなたが使用したコーデックの 1 つがデコードのためにこのハードウェア コンポーネントに渡されていると思いますが、製造元がそのためのドライバーを作成していないため、ファイル システム内には存在しません。

私のアドバイスは、この問題を再現する最小の MP4 ファイルを見つけて AOSP バグ トラッカーに報告することです。サンプル ファイルとともに、この問題が発生しているデバイスの名前を必ず付けてください。メーカーにも報告。

代わりにソフトウェア デコーダを使用するオプションがある場合は、これが実行可能な回避策となる可能性が高くなります。

于 2010-11-08T00:21:29.877 に答える