2013-01-07 42 views
9

Bir Android video düzenleme uygulaması oluşturmaya çalışıyorum. SDK kaynaklarında, 'android.media.videoeditor' paketinde ihtiyacım olanı yapan bir dizi sınıf var. Ancak, onları Java projem içine alıp aldığım zaman, bunu yapamam çünkü Eclipse'ye göre onlar yok! 'Android.jar' içeriğini kontrol ettim ve eminim, sınıflar eksik.Android video düzenleyici sınıfları

Bu paketteki sınıflardan biri - MediaArtistNativeHelper.java - C++ 'da neye ihtiyaç duyduğunu anlatan yerel yöntemlere çağrı yapmak için JNI kullanır (bu, bunları ayrı ayrı oluşturmak zorunda olduğum anlamına mı geliyor?)

Sorum şu: Bu sınıfları projemde nasıl kullanabilirim?

Mac'te Eclipse'i kullanarak uygulamayı geliştiriyorum. yukarıda Javadoc sınıfları/arabirimleri {@hide} veya @hide ek açıklama ihtiva çünkü

+0

Hey, herhangi bir çözüm var mı? –

+0

@Subra Cevabımı gör. – bitek

+1

Google'da bununla ilgili olarak biriyle iletişime geçtim ve yapmaya çalıştığım şey yerine MediaCodec'i kullanması söylendi. Videoeditor paketi, kullanılmaması gerektiği için gizlenmiştir. Android medya paketi ihtiyacım olanı tam olarak yapmadığından sorunumu çözmek için MediaCodec ve ffmpeg kullanarak bitti. – Simon

cevap

7

android.media.videoeditor paket, iç/gizli paket olup.

Uygulamanızın içinden kullanmanıza izin verilmiyor ve API'nın kullanılabilir olduğu gibi, API'nın mevcut API'sini içeren android.jar içinde bulunmadığını unutmayın. FYI paketinin javadoc'u here görülebilir.

ses ve videoda çeşitli medya arayüzleri yönetmek sınıfları sağlar: Hangi yerine android.media package kullanmak uygulamanıza medya işlevleri ekleyerek için

.

Ortam API'leri, bazı durumlarda ortam dosyalarını oynatmak ve oynatmak için kullanılır. Buna, ses (örneğin, MP3 veya başka müzik dosyaları, zil sesleri, oyun ses efektleri veya DTMF tonları) ve video (ör. Web üzerinden veya yerel depolama biriminden aktarılan bir video oynatma) dahildir. pakette

Diğer özel sınıflar (( cihazı veya kulaklık) ve bu tür zil sesleri ve telefon titreşim olarak kontrol uyarıları ses yönlendirmesini kontrol Bitmaps (FaceDetector) içinde AudioManager insanların yüzleri tespit olanağı sunuyoruz). android.media Ambalaj içeriği gösteren android.jar arasında

içeriği:

(ADT demeti-Linux Alındığı/sdk/platformlar/robot-17 /android.jar)

android sdk bunları olmadığından

enter image description here

+0

Teşekkürler, ancak MediaRecorder sınıfını kullanarak bu https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/media/java/android/media/videoeditor/OverlayFrame.java'yı nasıl kullanabilirsiniz? .. ?? –

+1

@Subra android.media paket belgelerini kontrol edin veya [platform/frameworks/base] için kaynak kodunu alın (https://android.googlesource.com/platform/frameworks/base/) .media.videoeditor paketi kullanılmıştır. – bitek

0

İç ve gizli paketler derleme zamanında erişilemiyor.

Bunun için kolay iş yok. Ancak, bu eğitici uygulamayı deneyebilirsiniz http://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-2-hacking-around/

Bu eğitici, bir aygıttan "full" android.jar'in nasıl çıkarılacağını açıklar; böylece, derleme sırasında gizli paketleri edinebilirsiniz. Derleme zamanında "gizli" paketlere sahip olduğunuzda, uygulamanızı bunlarla oluşturabilirsiniz. Bu gümüş bir mermi gibi gelebilir ama büyük dezavantajları var. Standart olmayan API'leri kullandığınızda tüm bahisler kapalıdır."Gizli" paketler, gelecekteki işletim sistemi yükseltmelerinde değiştirilecek/değiştirilecekse, ürününüzü bozar. Üretim ortamında bu yaklaşım bir anlaşma kırıcıdır, ancak kişisel/akademik kullanım için geliştirilen uygulamalar için bu sizin bir şey olabilir.

Not: Bunu kişisel olarak denemedim, ancak sizinkiyle benzer bir sorunla karşılaştığımda bir süre önce buldum (cevabım başka bir gizli pakette idi).