9

Androidのビデオ編集アプリケーションを作成しようとしています。SDK ソースには、パッケージ「android.media.videoeditor」に、必要なことを行っているように見える多くのクラスがあることに気付きました。ただし、それらを Java プロジェクトにインポートしようとすると、Eclipse によれば存在しないため、インポートできません! 「android.jar」の内容を確認したところ、確かにクラスがありません。

そのパッケージ内のクラスの 1 つである MediaArtistNativeHelper.java は、JNI を使用して、必要なネイティブ メソッドを呼び出します。これは、私が知る限り、C++ で実装されています (これは、それらを個別にビルドする必要があることを意味しますか?)

私の質問は、プロジェクトでこれらのクラスをどのように使用できますか?

Mac で Eclipse を使用してアプリを開発しています。

4

2 に答える 2

7

android.media.videoeditorパッケージは internal/hidden パッケージです。これは、そのクラス/インターフェースの上の Javadoc に {@hide} または @hide アノテーションが含まれているためです。

アプリケーション内から使用することは許可されておらず、ご覧のとおり、API は利用可能なパブリック API を含む android.jar には存在しません。参考までに、パッケージの javadoc はこちらで確認できます。

アプリケーションにメディア機能を追加するには、代わりにandroid.media パッケージを使用します。

オーディオとビデオのさまざまなメディア インターフェイスを管理するクラスを提供します。

Media API は、メディア ファイルの再生と、場合によっては記録に使用されます。これには、オーディオ (たとえば、MP3 またはその他の音楽ファイル、着信音、ゲームの効果音、または DTMF トーンの再生) とビデオ (たとえば、Web 経由またはローカル ストレージからストリーミングされたビデオの再生) が含まれます。

パッケージ内の他の特別なクラスは、ビットマップ (FaceDetector) で人の顔を検出し、(デバイスまたはヘッドセットへの) オーディオ ルーティングを制御し、着信音や電話の振動などのアラートを制御する (AudioManager) 機能を提供します。

android.media パッケージの内容を示す android.jar の内容:

(adt-bundle-linux/sdk/platforms/ android-17 /android.jar から取得)

ここに画像の説明を入力

于 2013-03-07T10:03:38.197 に答える
0

内部および非表示のパッケージは、Android SDK に含まれていないため、コンパイル時にアクセスできません。

これを回避する簡単な方法はありません。ただし、このチュートリアルを試すことができますhttp://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-2-hacking-around/

このチュートリアルでは、コンパイル時に非表示のパッケージを取得できるように、デバイスから「完全な」android.jar を抽出する方法について説明します。コンパイル時に「隠し」パッケージを取得したら、これらを使用してアプリをビルドできます。これは特効薬のように聞こえるかもしれませんが、大きな欠点があります。非標準の API を使用すると、すべての賭けがオフになります。将来の OS アップグレードで「隠し」パッケージが変更/修正されると、製品が破損する可能性があります。実稼働環境では、このアプローチは契約を破るものですが、個人的/学術的使用のために開発されたアプリの場合、それはあなたの好みかもしれません.

注:私はこれを個人的に試したことはありませんが、あなたと同様の問題に直面したときに見つけました(私の答えは他の隠しパッケージにありました)。

于 2013-03-07T12:01:13.160 に答える