2015-11-20 1 views
0

Je voulais lire une vidéo sur Costume Surface View et c'est fait, mais la vidéo ne s'affiche pas sur Costume Surface View. J'utilise Wikitude SDK. Et voici mon code ........Comment afficher la vidéo en cours de lecture sur CustomeSurfaceview sur la cible reconnue dans Wikitutde Android Native APi?

Ici, je suis en train de mon interface utilisateur ...

@Override 
    public void onRenderExtensionCreated(final RenderExtension renderExtension_) { 
     _glRenderer = new GLRenderer(renderExtension_); 
     _customSurfaceView = new CustomSurfaceView(getApplicationContext(), _glRenderer); 
     _driver = new Driver(_customSurfaceView, 30); 
     //setContentView(_customSurfaceView); 
     FrameLayout viewHolder = new FrameLayout(getApplicationContext()); 
     viewHolder.addView(_customSurfaceView); 
     View view= LayoutInflater.from(this).inflate(R.layout.activity_barcode_plugin,viewHolder,false); 
     viewHolder.addView(view); 
     setContentView(viewHolder); 
    } 

Et sur la cible je suis en train Reconnue faire comme ça ..

@Override 
    public void onTargetRecognized(final Tracker tracker_, final String targetName_) { 
     Log.i(TAG, "Thread Name is" + Thread.currentThread().getName()); 
     runOnUiThread(new Runnable() { 
      @Override 
      public void run() { 
       VideoView videoView = (VideoView) findViewById(R.id.videoView); 
       android.widget.MediaController mediaController = new android.widget.MediaController(BarcodePluginActivity.this); 
       videoView.setMediaController(mediaController); 
       String fileName = "android.resource://" + getPackageName() + "/" + R.raw.javavideotutorial; 
       Uri uri = Uri.parse(fileName); 
       videoView.setVideoURI(uri); 
       videoView.start(); 
      } 
     }); 
    } 

La vidéo est en cours de lecture mais elle n'apparaît pas sur la surface de l'appareil photo. Quand dans la méthode onTargetRecognized je fais la vue de la surface du costume Invisible/Gone la vidéo est en train de montrer, mais je veux qu'il montre sur l'aperçu de la caméra ... Comment surmonter ce problème ??? S'il vous plaît aidez-moi .. J'utilise Wikitude SDK, Android Native Api et le code de fonctionnement sur Android Studio. Et voici ma mise en page ...

Et voici ma mise en page ..

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
    android:background="@android:color/holo_blue_bright" 
    android:id="@+id/lin"> 
    <FrameLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/barcode_plugin_info_field" 
     android:editable="false" 
     android:background="@color/wikitude_orange_light" 
     android:visibility="gone" 
     android:text="@string/barcode_hint" 
     android:gravity="center_horizontal" 
     android:padding="5dp" 
     /> 
    <VideoView 
     android:layout_width="match_parent" 
     android:layout_height="200dp" 
     android:id="@+id/videoView" 
     android:layout_gravity="center" 
     /> 
    </FrameLayout> 
</LinearLayout> 

Je joue la vidéo sur la vidéo Voir .And ne se soucient pas de modifier le texte s'il vous plaît.

Répondre

1

Cela est dû au fait que le CustomSurfaceView et votre VideoView sont des SurfaceViews. Un SurfaceView est un type de vue spécial, qui ne se comporte pas comme les autres.

Votre VideoView est maintenant rendu sous le CustomSurfaceView. Lorsque vous ajoutez la vue dans la méthode "onRenderExtensionCreated()", ajoutez l'appel suivant:

videoView.setZOrderMediaOverlay(true); 
+0

Merci beaucoup. Ça fonctionne. –