Open top menu



Example - How to Used TextureView n Android?

.

A TextureView  can be used display to context Stream. such a content stream can b instance be video or OpenGL scene. the TextureView introduced android api level 14. the textureview , neet to do its gets Surface Texture.
the SurfaceTexture can then be used to render content. the TextureView has key properties like ,we can set the texture view from opaque to transparent and we can also rotate texture view .its syntax given by below.

...................................................................................................................................................................

public class MainActivity extends Activity implements TextureView.SurfaceTextureListener {

    private TextureView myTexture;

    @Override    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        myTexture = new TextureView(this);
        myTexture.setSurfaceTextureListener(this);
        setContentView(myTexture);
        //setContentView(R.layout.activity_main);
    }
}
..................................................................................................................................................................
After that tharSurfaceTextureListener implement  override method.

...................................................................................................................................................................


@Overridepublic void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {

}

@Overridepublic void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {

}

@Overridepublic boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
    return false;
}

@Overridepublic void onSurfaceTextureUpdated(SurfaceTexture surface) {

}
..................................................................................................................................................................




activity_main.xml
...................................................................................................................................................................
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    
xmlns:tools="http://schemas.android.com/tools"    
android:layout_width="fill_parent"    
android:layout_gravity="center"    
android:layout_height="fill_parent" >
    
<ImageView       
 android:layout_width="wrap_content"        
android:layout_height="wrap_content"        
android:id="@+id/imageView"       
android:src="@drawable/my_heder_img"        
android:layout_gravity="center_horizontal|top" />
        
<TextureView            
android:id="@+id/textureView1"            
android:layout_width="wrap_content"            
android:layout_height="wrap_content"            
android:layout_marginTop="70dp" />

</FrameLayout>

...................................................................................................................................................................







MainActivity.java
...................................................................................................................................................................

package com.example.sarvesh.testproject;

import android.app.Activity;

import android.graphics.SurfaceTexture;
import android.os.Bundle;
import android.view.Gravity;
import android.view.TextureView;
import android.widget.FrameLayout;
import android.hardware.Camera;
import java.io.IOException;

public class MainActivity extends Activity implements TextureView.SurfaceTextureListener {

    private TextureView myTexture;
    private Camera mCamera;

    @Override    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        myTexture = new TextureView(this);
        myTexture.setSurfaceTextureListener(this);
        setContentView(R.layout.activity_main);
        setContentView(myTexture);
    }
    @Override    public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {

        mCamera = Camera.open();
        Camera.Size previewSize = mCamera.getParameters().getPreviewSize();

        myTexture.setLayoutParams(new FrameLayout.LayoutParams(
                previewSize.width, previewSize.height, Gravity.CENTER));

        try {
            mCamera.setPreviewTexture(surface);
        }

        catch (IOException t) {
        }
        mCamera.startPreview();
        myTexture.setAlpha(1.0f);
        myTexture.setRotation(90.0f);

    }

    @Override    public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {

    }

    @Override    public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
        mCamera.stopPreview();
        mCamera.release();
        return true;
    }

    @Override    public void onSurfaceTextureUpdated(SurfaceTexture surface) {

    }
}

...................................................................................................................................................................





manifests.xml.
...................................................................................................................................................................
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"    
package="com.example.sarvesh.testproject">

    
<application        
android:allowBackup="true"        
android:icon="@mipmap/ic_launcher"        
android:label="@string/app_name"        
android:supportsRtl="true"        
android:theme="@style/AppTheme">

        
<uses-permission android:name="android.permission.INTERNET"/>
        
<uses-permission android:name="android.permission.CAMERA"/>


        
<activity android:name=".MainActivity">
            
<intent-filter>
                
<action android:name="android.intent.action.MAIN" />

               
 <category android:name="android.intent.category.LAUNCHER" />
            
</intent-filter>
        
</activity>



    
</application>

</manifest>
...................................................................................................................................................................









0 comments