問題タブ [android-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
951 参照

android - コーデックを Android マルチメディア フレームワークに統合する

現在 Android マルチメディア フレームワークでサポートされていないカスタム コーデックがあります。コーデックのソース コードを使用して、新しいフォーマット用のシンプルなビデオ プレーヤー アプリを作成しました。しかし今、私はそれをアンドロイドのマルチメディアフレームワークに統合したいと考えています。

投稿の助けを借りて:

デコーダーをマルチメディア フレームワークに統合する方法

必要な基本を知ることができました。まず、コーデックを Jelly Bean 以降のバージョンに統合する必要があります。したがって、上記の投稿に続いて、Android ソース コードをダウンロードし、上記の投稿で指定されているように、コード スニペットにデコーダー情報を追加しました。media_codecs.xmlそのコード スニペットを以下に示します。

上記のことをしたら、

  • 私が考えているのは、android ソース ツリーのどのディレクトリにcustomDecoderのソース コードを追加する必要があるかということです。
  • customDecoderコードを追加したら、ソースコードをコンパイルするためにコマンド/ makeファイルを書き込む場所を指定する必要があります。
  • 最後に、すべてが正常にビルドおよびコンパイルされたら、Android エミュレーターでの統合をテストする場合、実行する手順は何ですか。

私の質問について何か知っている専門家は、彼らに答えてください。

前もって感謝します。

-よろしく

サム

0 投票する
1 に答える
1333 参照

android - MediaCodec API を使用してカスタム デコーダーを呼び出す方法

Androidに移植され、スタンドアロンアプリケーションとして正常に動作しているビデオデコーダーがありますが、このコードをAndroidマルチメディアフレームワークに統合したいと考えています。したがって、このコードを Android のメディア フレームワークに追加しました。つまり、 に追加しましたroot/media/libstagefright/codecs/myDecoder

Android.mkデコーダーのソース コードを追加して配置した myDecoder フォルダーの下に書き込みました。コンパイルは成功し、エミュレーターで実行できます。

今、Android の新しいMediaCodecAPI を使用すると、Android ソースで利用可能なコーデックにアクセスして使用できることを読みました。

私の質問は、デコーダーを Android ソースコードに統合したことです。

デコーダーを使用して入力ストリームをデコードし、デバイス画面にレンダリングすることはできますか?

私のデコーダには、ストリームをデコードするために呼び出される関数があります。この関数は、入力ストリームのパスをパラメーターとして受け取ります。

MediaCodecAPIの要件に合わせて、デコーダのソース コードを変更する必要があります。

同じことに関するヘルプは、私にとって本当に役に立ちます。

-よろしく。

0 投票する
1 に答える
532 参照

android - コレオグラファーの働き方

Android フレームワーク (v4.1) のコードについて勉強していました。

これまでにトリガーされた UI メッセージinvalidate()は、UI messageQueue ではなく Choreographer に直接ポストされ、これらのメッセージは次のVSYNC信号が来るまで実行されないことがわかっています。

この post 操作が実行される前に、UI MessageQueue をブロックするためにViewRootImplLooper をpostSyncBarrier()1 回呼び出します。これは、後で messagesQueue に投稿されるメッセージは、このブロックが削除されるまで実行されないことを意味します。これは function の前に発生しますperformTraversals()

以上の理解に基づき、

別のものが(ビューインスタンスなどの)invalidate()どこかで一度でも呼び出された場合、UI messageQueue は永久にブロックされますか?performTraversals()onDraw()

実際の観察から、これが決して起こらないことを私は知っています。
それで、どこが間違っていますか?

0 投票する
5 に答える
122 参照

android - 電話で使用しているレイアウトがタブレットでも適切に機能するようにフラグメントを設定するにはどうすればよいですか?

私は現在、フラグメントで作られたアプリを電話だけで使用しています。同じのタブレット バージョンを追加する予定ですが、一部のフラグメントがタブレットで期待どおりに機能せず、多くの場合、ランドスケープで混乱しているようです。xml のフラグメント レイアウトの 1 つのコードを次に示します。

一部のデータを切り取ることなく、高さがタブレットでも期待どおりに機能するように変更するにはどうすればよいですか? また、これのためにどこかに別の複製レイアウトを追加する必要がありますか、それとも回避する方法がありますか? どんな助けでも感謝します、ありがとう!

0 投票する
1 に答える
1023 参照

android - JNIでAndroidフレームワークのC ++関数を呼び出す方法は?

Android で情報を取得するにvirtual sp<IOMX> getOMX();は、/framework/base/media/libmediaplayerservice/MediaPlayerService.hでこの関数を呼び出す必要があります。だから私はJNIを使​​ってそれを行います。ただし、C++ コードでは、Android フレームワークの C++ 関数を次のように呼び出すことはできますgetOMX()か? 実行する方法?ありがとう。