کلیدستان

نسخه‌ی کامل: درخواست نمونه کد / سورس برنامه ی نمایش ویدئو های سایت اپارات (اندروید)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
با سلام دوستان و اساتید محترم خیلی وقته درگیر نمایش ویدئو های سایت آپارات در یک برنامه هستم ممنون میشم راهنمایی کنید

درخواست نمونه کد یا سورس برنامه ی نمایش کلیپ های سایت اپارات
سلام.
ابتدا صفحه زیر را در خود سایت آپارات ببینید که api هایی را برای دریافت اطلاعات مربوط به ویدئوها در اختیار شما قرار می دهد :

http://www.aparat.com/api

نمی دونم راه مستقیمی برای دسترسی به خود فایل ویدئو در اختیار برنامه نویسان قرار داده اند یا نه، اگر راه مستقیمی پیدا نکردید، همان طور که می دانید، در خود صفحات نمایش ویدئو، لینکی برای دانلود ویدئو وجود دارد. بنابراین تنها کافی است که آدرس لینک را پیدا کنید تا دسترسی به ویدئو داشته باشید.
بنابراین باید کل کدهای HTML صفحه مربوط به ویدئو را دریافت کرده و در یک رشته (String) ذخیره کنیم. بعد تمامی لینک ها را از کد HTML استخراج می کنیم (منظورم آدرس صفحات است)(برای این کار باید از قواعد مربوط به عبارات قاعده مند (regular expressions) استفاده کنیم)، سپس چک می کنیم که ببینیم آخر کدام آدرس برابر عبارت mp4. می باشد. این آدرس، همان آدرس فایل مربوط به ویدئو می باشد.
برای دریافت کد HTML صفحه اینترنتی، من تا حالا با زبان java (برای اندروید) کار نکردم (باید کدهای مناسب برای آن را بیابید)، ولی در زبان PHP (در طراحی وب سایت)، برای http از تابع file_get_contents استفاده می شود و برای https ، کتابخانه curl به کار می رود.

البته بنده این موارد را به صورت یک روش کلی عرض کردم (یک روش کلی قابل اعمال به سایت های مختلف) و بهتر است با سایت آپارات هماهنگ کنید (که حقوق سایتشان حفظ شود و مثلا لوگوی آپارات در کنار ویدئوها قرار بگیرد تا کاربران منبع ویدئوها را بدانند).
زیرا حقوق ویدئوها متعلق به آپارات است و چنانچه این ویدئوها به صورت وسیع از سوی یک سایت یا برنامه دیگر عرضه شود، ممکن است شکایت کنند.
البته خود آپارات، کدهایی را برای نمایش ویدئوها در ((سایت های اینترنتی)) ارائه می کند (در خود صفحه مربوط به ویدئو)، بد نیست شما به آنها پیشنهاد بدهید که راهکاری هم برای ((برنامه های اندروید)) ارائه کنند. میشه همان کدها را در عنصر WebView به کار برد، ولی فکر نمی کنم جالب باشد.

سلام.من هم یه روش هایی بلدم گفتم بگم.
روش اول:آپارات تو صفحات مشاهده ی ویدیو،قسمت iframe برای قرار دادن کد در وبلاگ قرار دهده.شما می تونید اون صفحه ی iframe رو بردارد و یه webview بسازید و فیلم مورد نظرتون رو نمایش بدبد.مثل کد زیر:

کد پی‌اچ‌پی:
<iframe src="http://www.aparat.com/video/video/embed/videohash/QCh2n/vt/frame" allowFullScreen="true" webkitallowfullscreen="true" mozallowfullscreen="true" height="360" width="640" ></iframe

شما هم باید از کد بالا کد iframe یعنی کد زیر رو بردارید:

کد پی‌اچ‌پی:
http://www.aparat.com/video/video/embed/videohash/QCh2n/vt/frame 

روش دوم:تو صفحه ی تماشای یک فیلم تو آپارات،دکمه ای برای دانلود ویدیو قرار دارد.با راست کلیک کردن و انتخاب copy link address میتونید لینک مستقیم اون ویدیو رو بردارید و توی یه videoview نمایشش بدید.
گفتم بگم شاید بهتون کمک کنه.
خیلی ممنون از پاسخ های کاملتون

(۱۳۹۳/۱۲/۰۵, ۰۹:۱۹ ب.ظ)'hassan8971' نوشته: [ -> ]سلام.من هم یه روش هایی بلدم گفتم بگم.
روش اول:آپارات تو صفحات مشاهده ی ویدیو،قسمت iframe برای قرار دادن کد در وبلاگ قرار دهده.شما می تونید اون صفحه ی iframe رو بردارد و یه webview بسازید و فیلم مورد نظرتون رو نمایش بدبد.مثل کد زیر:
کد پی‌اچ‌پی:
<iframe src="http://www.aparat.com/video/video/embed/videohash/QCh2n/vt/frame" allowFullScreen="true" webkitallowfullscreen="true" mozallowfullscreen="true" height="360" width="640" ></iframe
شما هم باید از کد بالا کد iframe یعنی کد زیر رو بردارید:
کد پی‌اچ‌پی:
http://www.aparat.com/video/video/embed/videohash/QCh2n/vt/frame 
روش دوم:تو صفحه ی تماشای یک فیلم تو آپارات،دکمه ای برای دانلود ویدیو قرار دارد.با راست کلیک کردن و انتخاب copy link address میتونید لینک مستقیم اون ویدیو رو بردارید و توی یه videoview نمایشش بدید.
گفتم بگم شاید بهتون کمک کنه.

 

 


روش دومی که شما گفتید به نظر خیلی راحت تر میومد و استفاده کردم اما ارور میده که cant play this video

 
مشکل رفع شد با اذافه کردن <uses-permission android:name="android.permission.INTERNET" />
اینجا یک آموزش هست که پیشنهاد میکنم ازش استفاده کنید خودمم از همین استفاده کردم

یک مشکل دیگه در استفاده از آموزش بالا (البته خیلی هم مهم نیست اگه رفع نشه صفحه رو میزارم که فقط رو افقی ویدئو رو نمایش بده): وقتی ویدئو در حال نمایش باشه 
گوشی رو که میچرخونم نمایش ویدئو از اول شروع میشه!!
ممنون میشم بره این مشکل هم راهنمایی کنید


 
(۱۳۹۳/۱۲/۰۸, ۱۰:۲۰ ق.ظ)'esmail3309' نوشته: [ -> ]مشکل رفع شد با اذافه کردن <uses-permission android:name="android.permission.INTERNET" />
اینجا یک آموزش هست که پیشنهاد میکنم ازش استفاده کنید خودمم از همین استفاده کردم

 

بهتره لینک رو ذکر کنید تا سایر دوستان نیز استفاده کنند. 

(۱۳۹۳/۱۲/۰۸, ۱۰:۲۰ ق.ظ)'esmail3309' نوشته: [ -> ]یک مشکل دیگه در استفاده از آموزش بالا (البته خیلی هم مهم نیست اگه رفع نشه صفحه رو میزارم که فقط رو افقی ویدئو رو نمایش بده): وقتی ویدئو در حال نمایش باشه 
گوشی رو که میچرخونم نمایش ویدئو از اول شروع میشه!!
ممنون میشم بره این مشکل هم راهنمایی کنید

 

در این مورد، باید تعیین کنیم که با چرخش گوشی ، Activity دوباره از نو اجرا نشود (restart نشود). برای این منظور، کلید زیر را بخوانید :

کلید شماره 270

(۱۳۹۳/۱۲/۰۸, ۱۱:۰۸ ق.ظ)'admin' نوشته: [ -> ]
(۱۳۹۳/۱۲/۰۸, ۱۰:۲۰ ق.ظ)'esmail3309' نوشته: [ -> ]مشکل رفع شد با اذافه کردن <uses-permission android:name="android.permission.INTERNET" />
اینجا یک آموزش هست که پیشنهاد میکنم ازش استفاده کنید خودمم از همین استفاده کردم


 

بهتره لینک رو ذکر کنید تا سایر دوستان نیز استفاده کنند. 

(۱۳۹۳/۱۲/۰۸, ۱۰:۲۰ ق.ظ)'esmail3309' نوشته: [ -> ]یک مشکل دیگه در استفاده از آموزش بالا (البته خیلی هم مهم نیست اگه رفع نشه صفحه رو میزارم که فقط رو افقی ویدئو رو نمایش بده): وقتی ویدئو در حال نمایش باشه 
گوشی رو که میچرخونم نمایش ویدئو از اول شروع میشه!!
ممنون میشم بره این مشکل هم راهنمایی کنید


 

در این مورد، باید تعیین کنیم که با چرخش گوشی ، Activity دوباره از نو اجرا نشود (restart نشود). برای این منظور، کلید زیر را بخوانید :

کلید شماره 270



 


ممنون از پاسختون
لینک رو یادم رفت بزارم:http://www.hasmukhbhadani.com/search/label/Video-Play%20Live%20Streaming%20in%20Android.



 
راستی اگر در برنامم از ویدئو های آپارات استفاده کنم، آیا کافه بازار ایرادی میگیره؟

 
به نظر من بهتره یا یه لوگویی چیزی تو برنامتون بزارید که منبع ویدیو ها از کجاست یا با خود آپارات هماهنگ کنید
(۱۳۹۳/۱۲/۰۸, ۱۲:۱۹ ب.ظ)'hassan8971' نوشته: [ -> ]به نظر من بهتره یا یه لوگویی چیزی تو برنامتون بزارید که منبع ویدیو ها از کجاست یا با خود آپارات هماهنگ کنید

 

منظورتون از لوگو یک لوگو روی کلیپ هاست؟؟


 
روی کلیپ یا توی صفحه ی درباره ی ما یا صفحه ی اسپلش که هنگام باز شدن برنامه نمایش داده میشه
یه سوال دیگه:

چطور میتونم پیش نمایشی از ویدئو داشته باشم؟؟؟ حالا به صورت گرید ویو یا لیست ویو
(۱۳۹۳/۱۲/۰۸, ۰۶:۴۹ ب.ظ)'esmail3309' نوشته: [ -> ]یه سوال دیگه:

چطور میتونم پیش نمایشی از ویدئو داشته باشم؟؟؟ حالا به صورت گرید ویو یا لیست ویو


 


اگر منظورتون نمایش یک عکس برگزیده از فیلم است (مثل عکسی که خود آپارات، قبل از نمایش فیلم، نشان می دهد)، باید ببینید در api ای که خود تیم آپارات در آن صفحه ارائه کرده، آیا آدرس مربوط به عکس منتخب فیلم (پوستر متناظر با فیلم) را هم به شما می دهند یا نه.
اگر در api نبود، کدهای نمایش ویدئو را بررسی کنید (منظورم در source صفحه مربوط به نمایش ویدئو در آپارات است)، در بخشی از آن، باید آدرس پوستر ذکر شده باشد (بنابراین مشابه روش هایی که برای پیدا کردن آدرس فایل mp4 ذکر کردم، آدرس عکس مربوط به پوستر را هم می توانید پیدا کنید).
برای ساخت ListView یا GridView برای نمایش تعدادی عکس، کلیدهای زیر را ببینید :

کلید شماره 843

کلید شماره 2776

باز هم ممنون از پاسخ کاملتون
یه مشکل کوچیکی با ایکلیپس دارم که دیگه نخواستم یک تاپیک جدید بسازم همینجا میپرسم با اجازتون:
در قسمت نمایش گرافیکی لایوت ها این ارور نمایش داده میشه:This version of the rendering library is more recent than your version of ADT plug-in. Please  update ADT plug-in
البته رابط گرافیکی هم نمایش داده نمیشه و تا دو سه روز پیش این مشکلو نداشت
متنش رو میتونم بفهمم اما نمیدونم بره حلش چی کار کنم.