2 ارسال در این موضوع قرار دارد

ابتدا کتابخانه vitamio را به عنوان به عنوان یک کتابخانه به محیط توسعه خود اضافه کنید.این کتابخانه در این لینک قابل دریافت است:

https://github.com/yixia/VitamioBundle

باید توجه کنید که پس از دانلود شما قسمتی که فولدری به نام vitamio دارد را برای این آموزش نیاز دارید.

سپس یک پروژه به نام VitamioVideo ایجاد کرده و در کد های زیر را به ترتیب در فایل ایکس ام ال و سپس در اکتیویتی می نویسیم.

main.xml :

 

<?xml version="1.0" encoding="utf-8"?>

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:gravity="center"

android:orientation="horizontal">

android:id="@+id/surface_view"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

 

 

که در آن ک ویدیو ویو از کلاس io.vov.vitamio.widget.VideoView در آن قرار دارد.

سپس در اکتیویتی VitamioVideoActivity:

 

package com.VitamioVideo;

import io.vov.vitamio.LibsChecker;

import io.vov.vitamio.MediaPlayer;

import io.vov.vitamio.widget.MediaController;

import io.vov.vitamio.widget.VideoView;

import android.app.Activity;

import android.os.Bundle;

import android.text.TextUtils;

import android.view.View;

import android.widget.Toast;

public class VitamioVideoActivity extends Activity {

private String pathToFileOrUrl = "http://hw14.asset.aparat.com/aparat-video/1d7288ace5ce9cc812f6cf5b99d2b8b62642090-360p__87605.mp4";

private VideoView mVideoView;

@Override

public void onCreate(Bundle icicle) {

super.onCreate(icicle);

if ( !LibsChecker.checkVitamioLibs(this))

return;

setContentView(R.layout.main);

mVideoView = (VideoView) findViewById(R.id.surface_view);

if (pathToFileOrUrl == "") {

Toast.makeText(this, "Please set the video path for your media file", Toast.LENGTH_LONG).show();

return;

} else {

/*

* Alternatively,for streaming media you can use

* mVideoView.setVideoURI(Uri.parse(URLstring));

*/

mVideoView.setVideoPath(pathToFileOrUrl);

mVideoView.setMediaController(new MediaController(this));

mVideoView.requestFocus();

mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {

@Override

public void onPrepared(MediaPlayer mediaPlayer) {

// optional need Vitamio 4.0

mediaPlayer.setPlaybackSpeed(1.0f);

}

});

}

}

public void startPlay(View view) {

if ( !TextUtils.isEmpty(pathToFileOrUrl)) {

mVideoView.setVideoPath(pathToFileOrUrl);

}

}

public void openVideo(View View) {

mVideoView.setVideoPath(pathToFileOrUrl);

}

}

 

که در آن یک شی از ویدیو ویو ویتامیو ساخته و به ایکس ام ال پیوند داده شده است و سپس کار های لازم و اولیه برای دکمه های پلیر انجام شده و سپس url فایلی که باید آنلاین پخش شود را به ویدیو ویو نسبت داده.سپس ویدیو ویو با کمک لیستنر به محض آماده شدن اولیه فایل را پخش می کند.

در فایل منیفست برنامه نیز باید تغییراتی انجام داد که در زیر شاهد آن خواهیم بود :

 

<?xml version="1.0" encoding="utf-8"?>

package="com.VitamioVideo"

android:versionCode="1"

android:versionName="1.0" >

android:icon="@drawable/ic_launcher"

android:label="@string/app_name" >

android:name=".VitamioVideoActivity"

android:label="@string/app_name" >

android:name="io.vov.vitamio.activity.InitActivity"

android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"

android:launchMode="singleTop"

android:theme="@android:style/Theme.NoTitleBar"

android:windowSoftInputMode="stateAlwaysHidden" />

 

علاوه بر دسترسی های لازم که قرار داده شده است اکتیویتی آماده سازی اولیه یا مقدار دهی اولیه کامپوننت ویتامیو نیز خود نمایی می کند.

این نکته را در نظر داشته باشید که بجای یک ویدیو آنلاین شما می توانید یک ویدیو آفلاین را هم پخش کنید.

سپس می توانید را اجرا کردن برنامه نتیجه حاصله را ببینید و از این پلیر قدرتمند لذت ببرید.

امیدواریم این آموزش موثر واقع شود و تاثیری حتی کوچک در پیشرفت شما دوستان ایفا کند.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام و درود

میشه آموزش این رو هم بدید که لینک های RTMP - RTSP - m3u8 - MMS رو چجوری آنلاین پخش کنیم؟

من خیلی به این آموزش نیاز دارم. این آموزش بالا هم خیلی برام کاربردی بود.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط مهندس
      سلام دوستان
      من یک چند مدتیه که هر چی کتابخانه به پروژه ام اضافه میکنم در بخش دیپندنسی ، همیشه با پیغام زیر مواجه میشم، فرقی هم نداره برای همه ی کتابخانه ها این اتفاق میقته.
      ضمن اینکه سرعت اینترنتم بسیار عالی هست.
      پراکسی رو هم امتحان کردم؛ از قندشکن هم استفاده کردم ولی فایده ای نداره.
      در صورتیکه من قبلا به همین پروژه براحتی کتابخونه ادد میکردم.
      دوستان خواهش میکنم کمک کنید، چجوری از دست این خطا راحت بشم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

    • توسط مهندس
      سلام.
      من فایل های php ارتباط با سرورمو اپلود کردم در فایل public html و داخل برنامه هم ک url ست کردم برای ارتباط با سرور.
      الان یک مشکلی ک دارم بحث امنیته.
      مثلا ما تو وب سایت بحث کوکی ها و سشن ها رو داریم. 
      تو اندروید برای امنیت باید چیکار کنیم؟؟
      در ضمن مثلا فرض کنید url من https://www.android.com/app/register.php .
      حالا شما فرض کنید یه هکر براحتی میتونه ب این صفحه دسترسی پیدا کنه دیتا اینرزت کنه در دیتابیس.
      یا کلا در این ادرس https://www.android.com/app/ ب تمام فایل ها میتونه دسترسی پیدا کنه.

       
    • توسط niloobani
      سلام .به یک توسعه دهنده اپلیکیشن مسلط به ساخت اپلیکیشن برای اندروید و ios در یک شرکت معتبر نیاز دارم . لطفا در صورت داشتن شرایط به من پیام بدید
    • توسط snowman
      سلام
      یه برنامه کتاب الکترونیکی نوشتم که همه چیش درست کار میکنه فقط تو قسمت جستجوش گیر کردم. تو برنامه از sqlite برای دیتابیس استفاده کردم که شامل یه table هست .برنامه 4 قسمت داره که واسه هر قسمت یه اکتیویتی ساختم که با استفاده از لیست ویو اطلاعاتو نشون میده . تو قسمت جستجو نمیتونم آیتم رو به اکتیویتی مورد نظر پاس بدم .نمیدونم اصلا امکانش هست یا نه راستش این اولین برنامم هستش ممنون میشم راهنماییم کنیید.
      import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.WindowManager; import android.widget.AdapterView; import android.widget.EditText; import android.widget.ListView; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.SimpleAdapter; import android.widget.Toast; import java.util.HashMap; import java.util.List; import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper; public class search extends AppCompatActivity { private DatabaseHandler db; private ListView resultListView; private List<HashMap<String , Object>> resultBooks; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_search); getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL); resultListView = (ListView) findViewById(R.id.resultListView); db = new DatabaseHandler( getBaseContext() ); db.open(); if( db.getScreenState() == 1 ) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } db.close(); } public void onBtnFindClick( View v ) { resultListView.setAdapter(null); RadioGroup rGroup = (RadioGroup) findViewById(R.id.rgItems); int selected_item_id = rGroup.getCheckedRadioButtonId(); RadioButton rbTitle = (RadioButton) findViewById(R.id.rbSearchByTitle); RadioButton rbContent = (RadioButton) findViewById(R.id.rbSearchByContent); String search_by = ""; if( selected_item_id == rbTitle.getId() ) { search_by = "title"; } else if( selected_item_id == rbContent.getId() ) { search_by = "content"; } EditText etSearchKey = (EditText) findViewById(R.id.txtSearchKey); if( etSearchKey.getText().length() < 1 ) { Toast.makeText( getBaseContext() , getString(R.string.search_error_enter_text) , Toast.LENGTH_SHORT ).show(); return; } String key = etSearchKey.getText().toString().trim(); String[] keys = key.split("\\s+"); String query = search_by + " LIKE '%" + keys[0] + "%'"; StringBuilder sb = new StringBuilder(); for( int i = 1; i < keys.length; i ++ ) { sb.append( " OR " + search_by + " LIKE '%" + keys[i] + "%'" ); } query = query + sb.toString(); /* title LIKE '%ali%' OR title LIKE '%reza%' OR ... */ showResultOfSearch(query); } public void showResultOfSearch(final String query ) { db.open(); resultBooks = db.getTableOfResultsOfSearch( query ); db.close(); if( resultBooks.size() < 1 ) { Toast.makeText( getBaseContext() , getString(R.string.search_error_not_found) , Toast.LENGTH_SHORT ).show(); return ; } String[] from = { "title" , "fav_flag" , "see_flag" }; int[] to = { R.id.txtTitle , R.id.setFav , R.id.setSee }; SimpleAdapter adb = new SimpleAdapter( getBaseContext() , resultBooks , R.layout.tbl_content_list_row , from , to ); resultListView.setAdapter(adb); resultListView.setOnItemClickListener( new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent i = new Intent(getBaseContext(), book_content4.class); String my_id = resultBooks.get(position).get("id").toString(); i.putExtra("id", my_id); startActivity(i); overridePendingTransition(R.anim.fade_in, R.anim.fade_out); } } ); } protected void attachBaseContext(Context newBase) { super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase)); } }  
    • توسط مهندس
      سلام.
      دوستان من اپلیکیشنم رو در هیچ مارکتی نذاشتم.
      هم اکنون میخام پیغام اپدیت بفرستم برای کاربرا و اگر کاربر روی دکمه اوکی لمس کرد، نسخه جدید براش دانلود بشه و خودکار نصب بشه.
      من سمت سرور با php کار میکنم.
      چطور میتونم اپ رو در سرور اپلود کنم و چطور میتونم کاربرو هدایت کنم ک دانلود کنه؟؟

  • دوره آموزشی اندروید ایران کانادا آموزش ویدئویی اندروید آموزش برنامه نویسی اندروید اندروید کاپ دوره آنلاین اندروید کتاب های آموزشی اندروید بسته آموزشی اندروید دوره برنامه نویسی اندروید آموزش Kotlin
  • فایل