tejariapp-new-logotejariapp-new-logotejariapp-new-logotejariapp-new-logo
  • صفحه اصلی
  • پروژه ها
    • پروژه طراحی سایت
    • پروژه های اندروید
    • پروژه های تحت ویندوز
    • UI & UX
    • ربات تلگرام
  • سفارش پروژه
    • انجام پروژه اندروید (Android)
    • طراحی و ساخت اپلیکیشن موبایل
    • انجام پروژه طراحی سایت با php
    • انجام پروژه طراحی سایت با Asp.net
    • انجام پروژه سی شارپ
    • فرم سفارش پروژه
  • مدرسه ی تجاری اپ
    • طراحی سایت
    • اندروید
    • سی شارپ
    • آموزش پایگاه داده
    • برنامه های کاربردی
  • لینک های مفید
    • پرداخت آنلاین
    • درباره تجاری اپ
    • تماس با ما
استخدام برنامه نویس متلب
سفارش پروژه
✕
            هیچ نتیجه ای یافت نشدمشاهده همه نتایج

            پخش ویدیو با کلاس videoView و MediaController کاتلین در اندروید

            • صفحه نخست
            • مدرسه ی تجاری اپ آموزش اندروید
            • پخش ویدیو با کلاس videoView و MediaController کاتلین در اندروید
            تنظیم فاصله بین کلمات و حروف در تکست ویو با کاتلین
            فاصله space بین کلمات در تکست ویو (TextView)
            4 دی 1397
            ساخت و طراحی پروگرس بار progressBar پیشرفته در اندروید
            9 دی 1397
            منتشر شده توسط مدیر سایت
            پخش ویدیو با videoView و MediaController کاتلین در اندروید

            پخش ویدیو با videoView و MediaController کاتلین در اندروید

            پخش ویدیو با کلاس های videoView و MediaController در کاتلین اندروید ، عنوان مطلبی است که قصد داریم در این لحظه از تجاری اپ آن را به شما کاربران و همراهان عزیز آموزش دهیم.در ادامه با ما همراه باشید…

            پخش ویدیو با videoView و MediaController در کاتلین اندروید

            معرفی کلاس Android VideoView

            ساده ترین راه برای نمایش ویدیو در برنامه اندروید استفاده از کلاس videoView است.کلاس videoView یک ویژوال کامپوننت است که به لایوت و اکتیویتی اضافه میشود و قابلیت پخش ویدیو را فراهم میکند.در حال حاضر اندروید از فرمت های ویدیویی زیر پشتیبانی میکن :

            • H.263
            • H.264 AVC
            • H.265 HEVC
            • MPEG-4 SP
            • VP8
            • VP9

            کلاس videoView برای مدیریت پخش یک ویدیو دارای متدهای زیر می باشد که به شرح هر کدام میپردازیم.

            • setVideoPath(String path) :  این متد یک پارامتر از نوع رشته ای دریافت میکند که این پارامتر میتواند یک url باشد یا اینکه آدرس فیلم در حافظه داخلی دستگاه باشد.
            • setVideoUri(Uri uri) : این متد مشابه متد بالا عمل میکند با این تفاوت که یک پارامتر از نوع آبجکت uri دریافت میکند و این پارامتر میتواند یک لینک پخش فیلم از سرور باشد.
            • start() : هنگامی که پخش ویدیو شروع میشود. این متد اجرا میشود.
            • topPlayback() :  هنگامی که پخش ویدیو متوقف می شود این متد اجرا میگردد.
            • pause() :  هنگامی که پخش ویدیو برای مدت کوتاهی متوقف میشود.این متد اجرا می شود.
            • isPlaying() : این متد یک مقدار بولین را برمی گرداند و نشان دهنده این است که آیا ویدیو در حال پخش است یا خیر.
            • setOnPreparedListener(MediaPlayer.OnPreparedListener) : وقتی که ویدیو برای پخش آماده میشود این متد فراخوانی میشود.
            • setOnErrorListener(MediaPlayer.OnErrorListener) : وقتی که یک خطا درهنگام پخش ویدیو رخ میدهد این متد فراخوانی میشود.
            • setOnCompletionListener(MediaPlayer.OnCompletionListener) : وقتی که پخش یک ویدیو به انتها میرسد این متد فراخوانی میشود.
            • getDuration() : این متد مدت زمان فیلم را برمیگرداند.
            • getCurrentPosition() : این متد موقعیت فعلی پخش را به صورت عدد صحیح بر میگرداند.
            • setMediaController(MediaController) : این متد یک نمونه از MediaController به عنوان پارامتر دریافت میکند و کنترل های پخش را برای کاربر نمایش میدهد.

            معرفی کلاس Android MediaController

            اگر یک پلیر از یک کلاس videoView برای پخش ویدئو به تنهایی استفاده کند.کاربر هیچ کنترلی برای مدیریت پخش تا پایان ویدئو نخواهد داشت. که ما برای حل این مشکل یک نمونه از کلاس MediaController را به کلاس ویدیو ویو متصل میکنیم و با این کار کلاس MediaController مجموعه ای از کنترلر های پخش برای مدیریت ویدئو اعم از دکمه توقف ، دکمه مکث ، دکمه پخش ، دکمه جلو بردن فیلم و دکمه به عقب بردن فیلم را برای کاربر فراهم میکند.

            کنترلر ها به صورت خودکار در هنگام پخش از دید کاربر و بر روی ویدئو مخفی میشوند و کاربر برای مدیریت آنها میتواند دوباره آنها رو نمایان کند.

            متد های کلیدی کلاس MediaController عبارت اند از :

            • setAnchorView(View view) : این متد مکان نمایش کنترلر ها را روی صفحه مشخص میکند.
            • show() : هنگامی که کنترل ها نمایش داده میشوند فراخوانی میشود.
            • show(int timeout) : این متد مشخص میکند که کنترلر ها چه مدتی از زمان نمایش داده شوند. بر حسب میلی ثانیه.
            • hide() : ابزارهای کنترل را از دید کاربر مخفی میکند.
            • isShowing() : این متد یک مقدار بولین را برمیگرداند و نشان دهنده این است که آیا ابزارهای کنترل  در حال حاضر برای کاربر قابل مشاهده است یا خیر.

            ساخت یک نمونه از پلیر پخش فیلم با کاتلین

            در ادامه آموزش ما یک پلیر پخش فیلم را در قالب یک مثال کاربردی با استفاده از کلاس های VideoView و MediaController توضیح داده ایم که توانایی پخش فیلم از یک لینک در سرور را دارد.
            یک پروژه جدید در اندروید استدیو ایجاد کنید و طبق تصاویر زیر آن را تنظیم نمایید.

            پخش ویدیو با videoView و MediaController کاتلین در اندروید

            پخش ویدیو با videoView و MediaController کاتلین در اندروید

             

            پخش ویدیو با videoView و MediaController کاتلین در اندروید

            پخش ویدیو با videoView و MediaController کاتلین در اندروید

             

            پخش ویدیو با videoView و MediaController کاتلین در اندروید

            پخش ویدیو با videoView و MediaController کاتلین در اندروید

            طراحی صفحه VideoPlayer

            رابط کاربری برای mainActivity از یک نمونه از کلاس ویدیو ویو تشکیل شده است.

            که میتونید برای ویرایش کردن رابط کاربری مسیر زیر را در اندروید استدیو طی کنید

            app -> res -> layout -> activity_video_player.xml

            سپس روی activity_video_player.xml دو بار کلیک کنید تا حالت دیزاین آن نمایان شود و ویجت TextView پیش فرض را حذف کنید.

            از بخش Palette panel به تب ویجت ها رفته و یک نمونه videoView  را روی صفحه طراحی بکشید.

            طبق تصویر زیر آن را تنظیم کنید

            پخش ویدیو با videoView و MediaController کاتلین در اندروید

            پخش ویدیو با videoView و MediaController کاتلین در اندروید

             

            و کدهای xml را به صورت زیر تغییر دهید :

             

            <?xml version="1.0" encoding="utf-8"?>
            <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.ebookfrenzy.videoplayer.VideoPlayerActivity" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="81dp">
            <VideoView android:id="@+id/videoView1" android:layout_width="0dp" android:layout_height="wrap_content" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" />
            </android.support.constraint.ConstraintLayout>
            

             

            پیکر بندی کلاس VideoView

             

            package com. tejariapp.video_player
            import android.support.v7.app.AppCompatActivity
            import android.os.Bundle
            import kotlinx.android.synthetic.main.activity_video_player.*
            class VideoPlayerActivity : AppCompatActivity() {
            override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_video_player)
            configureVideoView()
            }
            private fun configureVideoView() {
            
            videoView1.setVideoPath(
            "https://www.tejariapp.com/android_book/movie.mp4")
            videoView1.start()
            }
            }
            

             

            کلاس بالا لینک فیلم را دریافت میکند و آن را در ویدئو ویو پخش میکند.

            اضافه کردن مجوز اینترنت به برنامه

            ما برای دریافت فیلم از سایت و پخش آن در پلیر یا ویدیو ویو نیاز به مجوز دسترسی به اینترنت داریم برای این کار باید به AndroidManifest.xml برویم و دسترسی اینترنت را به آن اضافه کنیم طبق نمونه زیر :

             

            <?xml version="1.0" encoding="utf-8"?>
            <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.tejariapp.video_player" >
            <uses-permission android:name="android.permission.INTERNET" />
            <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" >
            .
            .
            .
            </manifest>
            

            تا اینجا کار با کلاس VideoView برای پخش فیلم به پایان رسید و شما میتوانید پروژه را در شبیه ساز اندرویدی یا دستگاه اندرویدی خود اجرا کنید. و نتیجه را ببینید.

             

            پخش ویدیو با videoView و MediaController کاتلین در اندروید

            پخش ویدیو با videoView و MediaController کاتلین در اندروید

             

            تا اینجا ما از کلاس videoView استفاده کرده ایم ،در ادامه به چگونگی افزودن ابزارهای کنترل فیلم به پلیر میپردازیم.

            اضافه کردن کلاس MediaController به کلاس VideoView

            package com.tejariapp.video_player
            import android.support.v7.app.AppCompatActivity
            import android.os.Bundle
            import android.widget.MediaController
            import kotlinx.android.synthetic.main.activity_video_player.*
            class VideoPlayerActivity : AppCompatActivity() {
            private var mediaController: MediaController? = null
            .
            .
            
            private fun configureVideoView() {
            videoView1.setVideoPath(
            "https://www.tejariapp.com/android_book/movie.mp4")
            mediaController = MediaController(this)
            mediaController?.setAnchorView(videoView1)
            videoView1.setMediaController(mediaController)
            videoView1.start()
            }
            }
            

            با اعمال تغییرات بالا و اجرا کردن مجدد برنامه در شبیه ساز و با لمس ویدیو پلیر ابزارهای کنترل همانند تصویر زیر ظاهر میشود

            پخش ویدیو با videoView و MediaController کاتلین در اندروید

            پخش ویدیو با videoView و MediaController کاتلین در اندروید

            راه اندازی onPreparedListener

            در این متد مدت زمان فیلم و همچنین دانلود و پیکر بندی فیلم را در Android Studio Logcat نمایش میدهیم.

            package com.tejariapp.videoplayer
            import android.support.v7.app.AppCompatActivity
            import android.os.Bundle
            import android.widget.MediaController
            import android.util.Log
            import kotlinx.android.
            synthetic.main.activity_video_player.*
            class VideoPlayerActivity : AppCompatActivity() {
            private var TAG = "VideoPlayer"
            .
            .
            private fun configureVideoView() {
            videoView1.setVideoPath(
            "https://www.tejariapp.com/android_book/movie.mp4")
            mediaController = MediaController(this)
            mediaController.setAnchorView(videoView1)
            videoView1.setMediaController(mediaController)
            videoView1.setOnPreparedListener { mp ->
            mp.isLooping = true
            Log.i(TAG, "Duration = " + videoView1.duration)
            }
            videoView1.start()
            }
            }
            

            و در نهایت پروژه را اجرا میکنیم.
            و قبل از شروع پخش فیلم در Android Studio Logcat خروجی زیر را میتوانیم ببینیم.

            ۱۱-۰۵ ۱۰:۲۷:۵۲٫۲۵۶ ۱۲۵۴۲-۱۲۵۴۲/com. tejariapp.video_player I/VideoPlayer: Duration = ۶۸۷۴

             

            اشتراک گذاری

            پست های مرتبط

            دستورات جریان کنترل (Control flow statements) یا دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت Dart

            دستورات جریان کنترل (Control flow statements) یا دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت Dart

            30 بهمن 1400

            دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب
            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت یا Dart

            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت یا Dart

            30 بهمن 1400

            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب
            توابع در زبان برنامه نویسی دارت (Dart)

            توابع در زبان برنامه نویسی دارت (Dart)

            27 بهمن 1400

            توابع در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب

            2 Comments

            1. ali گفت:
              30 شهریور 1398 در 01:13

              سلام و عرض خسته نباشید.
              میخوام یه اپلیکیشن بسازم که بیاد چندتا فیلم کوتاه رو از یک پوشه در سرور دانلود کنه و پشت سر هم هر کدوم از این فیلم ها رو در اپ به صورت خودکار نمایش بده و بعد از اتمام هر ویدئو به صورت خودکار ویدئوی بعدی رو نمایش بده.ممنون میشم اگه راهنمایی کنید.مرسی

              پاسخ
              • مدیر سایت گفت:
                30 شهریور 1398 در 18:46

                با سلام
                دوست عزیز خواسته شما به گونه ای نیست که با یک کامنت به آن پاسخ داده شود.در صورتی که تمایل داشته باشید کارتون توسط تیم برنامه نویسی ما انجام شود از طریق فرم سفارش پروژه ،جهت سفارش پروژه یا خواسته خود اقدام نمایید.

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

                با احترام

                پاسخ

            دیدگاهتان را بنویسید لغو پاسخ

            نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

            ساخت اپلیکیشن های موبایل

            • ساخت اپلیکیشن فروشگاهی
            • ساخت اپلیکشن ابزاری و خدماتی
            • ساخت اپلیکیشن آموزشی
            • و هزاران موضوع دیگر

             
            کلیک کنید

            آخرین دیدگاه ها

            • 7 خرداد 1401

              داودی نظر در آموزش استفاده از ckeditor همراه با آپلود عکس در لاراول 6

            • 6 فروردین 1401

              yasaman نظر در راست چین کردن متن در فیگما Figma

            • 3 فروردین 1401

              رضا نظر در مفاهیم Observable و Observer در RxJava

            تجاری اپ در شبکه های اجتماعی

            لوگوی تایید پرداخت آنلاین

            2015-2022 © تمامي حقوق مادي و معنوي اين وب سايت نزد تجاری اپ محفوظ بوده و هر گونه کپي برداري از مطالب پيگرد قانوني به همراه دارد! | طراح سایت : ProgRun
            سفارش پروژه
                      هیچ نتیجه ای یافت نشدمشاهده همه نتایج