LibGDX के साथ वीडियो चलाएं


22

क्या LibGDX के साथ वीडियो चलाने का कोई तरीका है?

मैं एंड्रॉइड में मेरी स्प्लैश स्क्रीन के रूप में एक वीडियो डालना चाहता हूं, लेकिन मैं एंड्रॉइड एसडीके का उपयोग नहीं करना चाहता हूं, क्योंकि मैं LibGDX का उपयोग कर रहा हूं और मैं लगभग समाप्त हो गया हूं: /


एक LibGDX क्रॉस प्लेटफॉर्म वीडियो रेंडरिंग एक्सटेंशन है: github.com/libgdx/gdx-video
tscreens

जवाबों:


12

LibGDX के साथ वीडियो चलाने को परियोजना के दायरे से बाहर के रूप में परिभाषित किया गया है । तो नहीं , आप LibGDX का उपयोग करके वीडियो नहीं चला सकते।

यद्यपि यह वीडियो चलाने के लिए एंड्रॉइड के लिए विशिष्ट कोड लिखने की संभावना को समाप्त नहीं करता है। इसका मतलब यह है कि आपका आवेदन LibGDX की पोर्टेबिलिटी को बनाए नहीं रखेगा।


:( ठीक है उस उत्तर के लिए धन्यवाद: / मुझे लगता है कि मुझे एंड्रॉइड एसडीके का उपयोग करना है, धन्यवाद :)
रूडी ५१

3
मैंने इसे एंड्रॉइड के साथ किया :) मैंने एक नई गतिविधि और एक नया लेआउट बनाया, और जब वीडियो अपने प्लेबैक को पूरा करता है, तो मैं उस गतिविधि को शुरू करता हूं जिसमें libGDX पर कॉल है
Rudy_TM

अच्छा! यह तेज़ था, मुझे लगता है कि यह सब करना बहुत मुश्किल नहीं था।
MichaelHouse

1
@Rudy_TM कृपया इसे स्वीकृत उत्तर के रूप में जोड़ें - जो आपको एक नई गतिविधि के साथ मिला। जो बाद में एक ही सवाल है दूसरों की मदद करेंगे।
ashes999

यह बहुत आसान है कि आप लिबगडेक्स में प्लेटफ़ॉर्म विशिष्ट कोड लिखें, इसलिए सिर्फ इसलिए कि यह बॉक्स से बाहर वीडियो का समर्थन नहीं करता है, इसका मतलब यह नहीं है कि यह नहीं किया जा सकता है, जैसा कि आपका उत्तर बताता है।
मत्स्येमन

20

जैसा कि Byte56 ने कहा, libGDX में आप वीडियो नहीं चला सकते :( इसलिए मैंने ऐसा किया:

मैंने एक नई गतिविधि "स्प्लैशस्क्रीन" बनाई

public class SplashScreen extends Activity implements OnCompletionListener
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.splash);
        String fileName = "android.resource://"+  getPackageName() +"/raw/video";

         VideoView vv = (VideoView) this.findViewById(R.id.surface);
         vv.setVideoURI(Uri.parse(fileName));
         vv.setOnCompletionListener(this);
         vv.start();

    }

    @Override
    public void onCompletion(MediaPlayer mp) 
    {
        // TODO Auto-generated method stub
        Intent intent = new Intent(this, libgdx.class);
        startActivity(intent);      
        finish();
    }
}

"OnCompletion" विधि में, मैं अपनी नई गतिविधि को कॉल करने के इरादे का उपयोग करता हूं जहां काम करने के लिए libGDX इंजन के लिए "इनिशियलाइज़" कॉल करता है।

और वीडियो व्यू के लिए एक नया लेआउट

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >

    <VideoView
        android:id="@+id/surface"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center" >

    </VideoView>

</LinearLayout>

2
+1 यह उत्तर पोस्ट करने के लिए धन्यवाद, यह भविष्य के आगंतुकों के लिए उपयोगी होगा।
MichaelHouse

1
आपका स्वागत है :) मैंने दो दिन बिताए अलग-अलग चीजों की कोशिश कर रहा था एक्सडी और यह आखिरी था: पी
रूडी

2
यह हमेशा अंतिम एक है? मुझे लगता है क्योंकि आप उस के बाद देख बंद: पी। इसके अलावा लगभग किया जा रहा है पर बधाई!
MichaelHouse

@Rudy_TM libgdx.class मुझे एक त्रुटि देता है (libgdx को एक प्रकार से हल नहीं किया जा सकता है), इसे कैसे ठीक करें?
LeSam

2
@ अपने प्रकट में G3tinmybelly मेनटेनिटी के बजाय लॉन्चर गतिविधि के लिए अपनी स्प्लैश स्क्रीन को बदल दें,
Rudy_TM

-1

यह खेलने का तरीका है: libname "indiespot-media-0.8.09.jar" है जिसे आप यहां प्राप्त कर सकते हैं

कैसे इस्तेमाल करे:

  1. पूर्ण ज़िप डाउनलोड करें
  2. प्रोजेक्ट के रूट में कॉपी फ़ेब फोल्डर (ffmpeg रास्ते के साथ lib द्वारा खोला जाएगा ।/lib/ffmpeg/ffmpeg@os postfix @)
player = new MoviePlayer(videoFile);
Texure playerTexture = new Texture(
  player.movie.width(), 
  player.movie.height(), 
  Pixmap.Format.RGBA8888) {

  @Override
  public void bind() {
    Gdx.gl.glBindTexture(0, player.textureHandle);
  }
};
  1. playerTextureहमेशा की तरह बनावट का उपयोग करें
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.