سفارش تبلیغ
صبا ویژن

آموزش پخش ویدئوی زنده در اندروید

در شرایطی‌که بخواهید یک ویدیوی زنده ( live video) یا این  طراحی اپلیکیشن در مشهد که هر جریان دیگری مانند ویدئو (video)  یا این که یک OpenGL را اکران دهید، میتوانید از TextureView استعمال فرمائید که به وسیله اندروید ارائه گردیده‌است.

برای به کارگیری از TextureView مجموع کاری که مورد نیاز میباشد جاری ساختن دهید، به چنگ آوردن SurfaceTexture  میباشد. پس SurfaceTexture میتواند برای اجرای محتوا استعمال شود. برای اجرا این شغل مورد نیاز میباشد رایاپارس یک آبجکت از این کلاس را تحت عنوان مثال تولید نمایید و اینترفیسSurfaceTextureListener را ایفا فرمائید. سینتکس آن به قرار تحت میباشد :

private TextureView myTexture;

public class MainActivity extends Activity implements SurfaceTextureListener{

protected void onCreate(Bundle savedInstanceState) {

myTexture = new TextureView(this);

myTexture.setSurfaceTextureListener(this);

setContentView(myTexture);

}

}

 

بعداز آن می بایست مشی ها را وارد نمائید که‌این مشی ها در لیست ذیل ارائه گردیده اند :

 

@Override

public void onSurfaceTextureAvailable(SurfaceTexture arg0, int arg1, int arg2) {

}

 

@Override

public boolean onSurfaceTextureDestroyed(SurfaceTexture arg0) {

}

 

@Override

public void onSurfaceTextureSizeChanged(SurfaceTexture arg0, int arg1,int arg2) {

}

 

@Override

public void onSurfaceTextureUpdated(SurfaceTexture arg0) {

}

 

 

هر ویو که در texture view به کارگیری میگردد، میتواند چرخانده خواهد شد و خصوصیت آلفای مرتبط با آن با به کار گیری از مشی های setAlpha  و setRotation تهیه گردد.

سینتکس آن به صورت ذیل است :

 

myTexture.setAlpha(1.0f);

myTexture.setRotation(90.0f);

خلال این روال ها، طرز های دیگری در TextureView وجود دارا هستند که در جدول پایین ارائه گردیده اند.

 

()getSurfaceTexture : این اسلوب ، SurfaceTexture  مستعمل با این ویو را return می نماید .

 

(getBitmap(int width, int height : این سیاق یک bitmap را return می نماید که نمایانگر محتوای مرتبط با surface texture  است.

 

(getTransform(Matrix transform : این روال تغییر و تحول صورت مرتبط با این texture view را return می نماید .

 

()isOpaque : این مشی علامت میدهد که آیا این ویو نامفهوم میباشد یا این که خیر.

 

()lockCanvas : این اسلوب ، دستکاری پیکسل های سطح را شروع می نماید.

 

(setOpaque(boolean opaque : این مشی نشانه میدهد که آیا محتوای این TextureView نا مفهوم میباشد یا این که خیر.

 

(setTransform(Matrix transform : این روال ، چرخش (Transform) را برای TextureView  انتخاب می نماید.

 

(unlockCanvasAndPost(Canvas canvas : این اسلوب دستکاری پیکسل های سطح را به نقطه پایان می‌رساند.