আপনি কি আইপ্যাডে এইচটিএমএল 5 ভিডিওগুলি অটোপ্লে করতে পারেন?


123

<video>ট্যাগ autoplay="autoplay"এট্রিবিউট সাফারিতে কাজ করে জরিমানা।

কোনও আইপ্যাডে পরীক্ষা করার সময়, ভিডিওটি ম্যানুয়ালি সক্রিয় করতে হবে।

আমি ভেবেছিলাম এটি একটি লোডিংয়ের সমস্যা, তাই আমি মিডিয়ার স্থিতির জন্য একটি লুপ পরীক্ষা করেছি:

videoPlay: function(){
    var me = this;
    console.log('STATE: ' + $("#periscopevideo").get(0).readyState);
    if ($("#periscopevideo").get(0).readyState != 4){
      setTimeout(function(){me.videoPlay();}, 300);
    }
    else {
      $("#periscopevideo").get(0).play();
    }
}

রাষ্ট্র 0আইপ্যাডে রয়েছে। আমার ডেস্কটপ সাফারি, এটি মাধ্যমে যায় 0, 1এবং পরিশেষে 4। আইপ্যাডে, এটি কেবলমাত্র পৌঁছায় 4যদি আমি ম্যানুয়ালি "প্লে" তীরটি ট্যাপ করি।

তদুপরি, $("#periscopevideo").get(0).play()ক্লিকের মাধ্যমে কল করাও onClickকাজ করে।

অটোপ্লে সংক্রান্ত কোনও অ্যাপল কি কোনও বিধিনিষেধ রয়েছে? (আমি যাইহোক আইওএস 5+ চালাচ্ছি)।



হয়তো আমরা ব্রাউজার সনাক্তকরণ তাকান উচিত এবং থাকুক বা না থাকুক আপনি playVideo কল করা উচিত (): stackoverflow.com/questions/26895492/...
Redtopia

আমার জন্য এই কাজ github.com/Stanko/html-canvas-video-player
Dimitar

এই বিষয়ে দরকারী ব্লগপোস্ট: webkit.org/blog/6784/new-video-polferences-for-ios
ম্যাথিয়াস এম

অপেরা মিনি ইন আইও ডিফল্টরূপে অটোপ্লে সমর্থন করে, যখন ক্রোম, ফায়ারফক্স এবং সাফারি চালু না করার বিকল্প সরবরাহ করে না এবং নেই।
বেনামে

উত্তর:


156

আইওএস 10 আপডেট

আইওএস 10 হিসাবে অটোপ্লে নিষেধাজ্ঞা প্রত্যাহার করা হয়েছে - তবে কিছু বিধিনিষেধের সাথে (উদাহরণস্বরূপ অডিও ট্র্যাক না থাকলে এটিকে স্বয়ংক্রিয় প্লে করা যেতে পারে)।

এই বিধিনিষেধের সম্পূর্ণ তালিকা দেখতে, সরকারী দস্তাবেজগুলি দেখুন: https://webkit.org/blog/6784/new-video-polferences-for-ios/

আইওএস 9 এবং এর আগে

আইওএস 6.1 হিসাবে, এখন আর আইপ্যাডে ভিডিওগুলি অটো প্লে করা সম্ভব নয়।

তারা কেন অটো-প্লে বৈশিষ্ট্যটি অক্ষম করেছে তা সম্পর্কে আমার ধারণা?

ঠিক আছে, অনেক ডিভাইস মালিকদের তাদের ডিভাইসে ডেটা ব্যবহার / ব্যান্ডউইথ সীমা রয়েছে বলে আমি মনে করি অ্যাপল অনুভব করেছে যে তারা যখন ব্যান্ডউইথের ব্যবহার শুরু করবেন তখন তাদের নিজেরাই সিদ্ধান্ত নেওয়া উচিত।


কিছুটা গবেষণার পরে আমি আমার অনুমানটি নিশ্চিত করতে আইওএস ডিভাইসগুলিতে অটো-খেলার বিষয়ে অ্যাপল ডকুমেন্টেশনে নিম্নলিখিত সূত্রটি পেয়েছি:

"অ্যাপল আইপিএস ডিভাইসগুলিতে স্ক্রিপ্ট এবং বৈশিষ্ট্য প্রয়োগ উভয়ের মাধ্যমে স্বয়ংক্রিয়ভাবে ভিডিও চালানো নিষ্ক্রিয় করার সিদ্ধান্ত নিয়েছে।

সাফারিতে, আইওএসে (আইপ্যাড সহ সমস্ত ডিভাইসের জন্য), যেখানে ব্যবহারকারী সেলুলার নেটওয়ার্কে থাকতে পারে এবং ডেটা ইউনিট অনুযায়ী চার্জ করা যায়, প্রিললোড এবং অটো-প্লে অক্ষম থাকে। ব্যবহারকারী এটি শুরু না করা পর্যন্ত কোনও ডেটা লোড হয় না। "- অ্যাপল ডকুমেন্টেশন।

সাফারি এইচটিএমএল 5 রেফারেন্স পৃষ্ঠাতে এমওডেড মিডিয়াগুলি আইওএসের সাফারিতে কেন প্লে করা যায় না সে সম্পর্কে এখানে একটি পৃথক সতর্কতা দেওয়া হয়েছে :

সতর্কতা : ব্যবহারকারীর ব্যয়ে সেলুলার নেটওয়ার্কগুলিতে অযাচিত ডাউনলোডগুলি রোধ করতে, এম্বেড করা মিডিয়াগুলি আইওএস-এ সাফারিতে স্বয়ংক্রিয়ভাবে প্লে করা যায় না — ব্যবহারকারী সর্বদা প্লেব্যাক শুরু করে। আইডি বা আইপড স্পর্শে একবার নিয়ন্ত্রক স্বয়ংক্রিয়ভাবে সরবরাহ করা হয় একবার শুরুতে প্লেব্যাক শুরু করা হয়, তবে আইপ্যাডের জন্য আপনাকে অবশ্যই নিয়ন্ত্রণ বৈশিষ্ট্য নির্ধারণ করতে হবে বা জাভাস্ক্রিপ্ট ব্যবহার করে একটি নিয়ামক সরবরাহ করতে হবে।


এর অর্থ (কোডের শর্তে) এর অর্থ হ'ল জাভাস্ক্রিপ্ট play()এবং load()পদ্ধতিগুলি নিষ্ক্রিয় থাকে যতক্ষণ না ব্যবহারকারী প্লেব্যাক শুরু করে, যদি না পদ্ধতি play()বা load()ব্যবহারকারীর ক্রিয়া দ্বারা ট্রিগার না করা হয় (যেমন একটি ক্লিক ইভেন্ট)।

মূলত, একটি ব্যবহারকারী-চালিত প্লে বোতামটি কাজ করে, তবে একটি onLoad="play()"ইভেন্ট তা করে না।

উদাহরণস্বরূপ, এটি মুভিটি খেলবে:

<input type="button" value="Play" onclick="document.myMovie.play()">

যদিও নিম্নলিখিতগুলিতে আইওএস-এ কিছুই করা যাবে না:

<body onload="document.myMovie.play()">

1
হুম আইএম সাফারির জন্য ড্রেনের নিচে 3 মাস ধরে একটি অনলাইন অ্যালার্ম ক্লক তৈরি! অ্যাপ্লিকেশনটি খোলা থাকাকালীন আমরা ফোনটি জাগ্রত রাখার জন্য একটি উপায় খুঁজে পেয়েছি তবে এখন আইওএস 6.1 এর সাথে অ্যালার্ম অডিওটি খেলবে না। এটি আইওএস 6.0 এ দুর্দান্ত কাজ করেছে। এখানে কি কাজ আছে?
chaser7016

1
ওহ অপেক্ষা করুন আমরা আইফোন সাফারি চালু করার জন্য এবং আবার চলার জন্য আমাদের মোবাইল ওয়েব অ্যালার্ম ক্লক (স্লিপ.এফএম) পেয়েছি, তাই এইচটিএমএল 5 অটোপ্লে সমর্থনের অভাবে কাজ করার সুযোগ রয়েছে।
chaser7016

1
@ Jonah1289 Sleep.fm ব্রায়ান Cavalier টুইট নিম্নলিখিত শিরোনাম সহ একটি GitHub লিঙ্কে আপনার ব্লগ পোস্টে মতে আইপ্যাড বা আইফোন অডিও ট্যাগ পরিবর্তে webkitaudiocontext ব্যবহার করে অটোপ্লে অডিও একটি ভাল জায়গা শুরু করার জন্য হতে পারে।
ফ্রান্সিসকো

1
আরও বিশদ, দয়া করে - অটোপ্লে সহায়তার অভাবের জন্য কোন নির্দিষ্ট কাজের অস্তিত্ব রয়েছে?
उमোপিসডন

11
ওয়াইফাই-তে থাকাকালীন তাদের কী করা উচিত তা হ'ল অটোপ্লেকে অনুমতি দেওয়া এবং ম্যানুয়াল প্লে করা বা কোনও মোবাইল নেটওয়ার্কে থাকা অবস্থায় ভিডিওটি অটোপ্লে করতে চায় এমন ব্যবহারকারীকে প্রম্পট দেয়।
রিক

16

আমি এই কথাটি বলতে শুরু করে বলতে চাই যে আমি বুঝতে পারি যে এই প্রশ্নটি পুরানো এবং ইতিমধ্যে একটি স্বীকৃত উত্তর রয়েছে; তবে, দুর্ভাগ্যজনক ইন্টারনেট ব্যবহারকারী হিসাবে যে এই প্রশ্নটি কেবলমাত্র ভুল প্রমাণিত হওয়ার অবসান ঘটার পরে ব্যবহার করেছে (তবে আমি আমার ক্লায়েন্টকে কিছুটা বিরক্ত করার আগে নয়) আমি আমার চিন্তাভাবনা এবং পরামর্শ যুক্ত করতে চাই।

@ ডিএসজি এবং @ জিওনা সঠিক হলেও, এবং তাদের উত্তরগুলির সাথে কোনও ভুল নেই, এমন একটি সৃজনশীল প্রক্রিয়া রয়েছে যা আপনি "কাছাকাছি যেতে", যাতে এই সীমাবদ্ধতার জন্য নিয়োগ করতে পারেন। এটি এই বলে না যে আমি এই বৈশিষ্ট্যটিকে ঘৃণা করছি, একেবারে বিপরীত, তবে কেবল কিছু ব্যবস্থা যাতে কোনও ব্যবহারকারী এখনও "বোধ করে" যেন কোনও ভিডিও বা অডিও ফাইলটি "স্বয়ংক্রিয়ভাবে চালানো হয়।"

দ্রুত কাজটি মোবাইল পৃষ্ঠায় কোথাও একটি ভিডিও ট্যাগ লুকানো, যেহেতু আমি একটি প্রতিক্রিয়াশীল সাইট তৈরি করেছি আমি কেবল ছোট পর্দার জন্য এটি করি। ভিডিও ট্যাগ (এইচটিএমএল এবং jQuery উদাহরণ):

এইচটিএমএল

<video id="dummyVideo" src="" preload="none" width="1" height="2"></video>

jQuery এর

var $dummyVideo = $("<video />", {
  id: "dummyVideo",
  src: "",
  preload: "none",
  width: "1",
  height: "2"
});

এই পৃষ্ঠায় লুকানো থাকা অবস্থায়, যখন কোনও ব্যবহারকারী কোনও মুভি দেখতে "ক্লিক" করেন (তবুও ব্যবহারকারীর ইন্টারঅ্যাকশন, সেই প্রয়োজনটি ঘটার কোনও উপায় নেই) গৌণ দেখার পৃষ্ঠায় নেভিগেট না করে আমি লুকানো ভিডিওটি লোড করি। এটি মূলত কাজ করে কারণ মিডিয়া ট্যাগটি সত্যই ব্যবহৃত হয় না তবে পরিবর্তে একটি কুইকটাইম উদাহরণে প্রচার করা হয় তাই দৃশ্যমান ভিডিও উপাদান থাকা মোটেই প্রয়োজন হয় না। "ক্লিক" (বা মোবাইলে "স্পর্শ") এর জন্য হ্যান্ডলারে In

$(".movie-container").on("click", function() {
  var url = $(this).data("stream-url");
  $dummyVideo.attr("src", url);
  $dummyVideo.get(0).load(); // required if src changed after page load
  $dummyVideo.get(0).play();
});

এবং ভায়োলা। ইউএক্স যতদূর যায়, কোনও ব্যবহারকারী প্লে করতে একটি ভিডিওতে ক্লিক করে এবং কুইকটাইম তাদের পছন্দ করা ভিডিওটি প্লে করার জন্য খোলে। এটি সীমাবদ্ধতার মধ্যে থেকে যায় যে ভিডিওগুলি কেবলমাত্র ব্যবহারকারী অ্যাকশনের মাধ্যমেই প্লে করা যায় তাই আমি এই পরিষেবাটির সাথে ভিডিও দেখার সিদ্ধান্ত নিচ্ছেন না এমন কারও উপর ডেটা জোর করে নিচ্ছি না। ইউটিউব ঠিক কীভাবে তাদের মোবাইলের সাথে এটি বন্ধ করে দিয়েছে তা নির্ধারণের চেষ্টা করার সময় আমি এটি আবিষ্কার করেছি যা মূলত কিছু সত্যিই দুর্দান্ত জাভাস্ক্রিপ্ট পৃষ্ঠার বিল্ডিং এবং ভিডিও ট্যাগের মতো লুকানো অভিনব উপাদান রয়েছে।

tl; dr অ্যাপলের সীমাবদ্ধতা ছাড়িয়ে না গিয়ে আইওএস ডিভাইসগুলিতে একটি "অটোপ্লে" ইউএক্স বৈশিষ্ট্য তৈরি করার চেষ্টা করার জন্য এবং কিছুক্ষণ ব্যবহারকারীরা সিদ্ধান্ত নিয়েছে যে তারা কোনও ভিডিও দেখতে চান কিনা (বা অডিও সর্বাধিক লাইক, যদিও আমি তাদের অনুমতি ছাড়া কেবল একটি লোড না করেই তারা পরীক্ষিত নয়)।

এছাড়াও, যিনি মন্তব্য করেছেন যে ঘুম.এফএম থেকে এসেছে, দুর্ভাগ্যক্রমে এটি আপনার সমস্যাগুলির সমাধান হতে পারে না যা সময় ভিত্তিক অডিও প্লে ব্যাক হয়।

আমি আশা করি যে কেউ এই তথ্যকে দরকারী বলে মনে করেন, এটি আমাকে ক্লায়েন্টের কাছে খারাপ সংবাদ সরবরাহের এক সপ্তাহ বাঁচাতে পারত যে তারা দৃ ad় ছিল যে তাদের এই বৈশিষ্ট্য রয়েছে এবং শেষ পর্যন্ত এটি সরবরাহ করার উপায় খুঁজে পেয়ে আমি আনন্দিত glad

সম্পাদনা

আরও অনুসন্ধানগুলি নির্দেশ করে যে উপরের কাজটি কেবলমাত্র আইফোন / আইপড ডিভাইসের জন্য। আইপ্যাডটি পুরো স্ক্রিন হওয়ার আগেই সাফারিতে ভিডিওটি প্লে করে তাই বাজানোর আগে আপনার ক্লিক ক্লিক করে ভিডিওটির আকার পরিবর্তন করতে কিছু ব্যবস্থা দরকার অন্যথায় আপনি অডিও এবং কোনও ভিডিও দিয়ে শেষ করবেন না।


2
$dummyVideo.get(0)বন্ধনীগুলির পরিবর্তে ব্যবহার করা আরও ভাল হবে , তাই আপনার নির্বাচনটি ফাঁকা থাকলে jQuery নিখুঁতভাবে ব্যর্থ হতে পারে।
মাইক্রোস

12

সবেমাত্র সেট

webView.mediaPlaybackRequiresUserAction = NO;

অটোপ্লে আইওএস-এ আমার জন্য কাজ করে।


29
এটি কোনও ওয়েবসাইটের জন্য কাজ করে না, এটি কেবলমাত্র সেই সাইটগুলির জন্য কাজ করে যেখানে আপনি সেগুলি স্থানীয় অ্যাপ্লিকেশন দিয়ে জড়িয়ে রেখেছেন।
ব্র্যান্ডন বাক

5
আমার অর্থ, কোনও ওয়েবপৃষ্ঠা থেকে (যেমন প্রশ্ন জিজ্ঞাসা করা হচ্ছে) এটি সম্পূর্ণরূপে অ্যাক্সেসযোগ্য কিছু - হ্যাঁ, ব্রাউজারে জাভাস্ক্রিপ্ট এটি করতে পারে না। এটি কেবল তখনই কার্যকর হয় যদি আপনি নিজের নিয়ন্ত্রণযুক্ত এমন কোনও অ্যাপ্লিকেশন থেকে কোনও ওয়েবভিউর অভ্যন্তরে নিজের সাইট চালাচ্ছেন যাতে এটি সত্যই প্রশ্নের সমাধান দেয় না।
ব্র্যান্ডন বাক

6
@ আইজুরিল ন্যায্য হতে, তিনি প্রশ্নটি "উদ্দেশ্য-সি" এবং "কোকো-টাচ" দিয়ে ট্যাগ করেছিলেন, সুতরাং তিনি
ওয়েবউভিউ

3
@ ক্লোয়ার ট্যাগগুলি সাধারণত আরও মনোযোগ দেওয়ার জন্য বা তারা যে সমস্যার সমাধানের চেষ্টা করছেন তার সাধারণ ভুল বোঝাবুঝি হিসাবে যুক্ত করা হয়। প্রশ্ন জিজ্ঞাসা করা ব্যক্তি ভাবতে পারেন যে অবজেকটিভ-সি উল্লেখ করা "আইওএস" বলার সমান (এবং কোকো-টাচের জন্য একই)) "ইউইউবিউভিউ" ট্যাগটি তালিকাভুক্ত নয় যদিও আমি এটিকে একটি কার্যকর বিকল্প হিসাবে বাদ দিতে পারি। প্রশ্নটিতে ডেস্কটপ এবং আইপ্যাডে সাফারি ব্যবহারের উল্লেখ রয়েছে (কোনও অ্যাপ্লিকেশন সম্পর্কে কিছুই নেই) এবং পরিস্থিতি ডিবাগ করতে জাভাস্ক্রিপ্ট ডেমো কোড ব্যবহার করে। সব মিলিয়ে আমি বলব এটি একটি নিরাপদ বাজির চেয়েও বেশি এই প্রশ্নটি সত্যই ওয়েবের নেটিভ সমাধানগুলির সন্ধান করছিল।
ব্র্যান্ডন বাক

অ্যান্ড্রয়েডে: বিকাশকারী.অ্যান্ড্রয়েড.
com

11

আইওএস 10 হিসাবে, ভিডিওগুলি এখন অটোপ্লে করতে পারে তবে কেবল সেগুলির মধ্যে হয় নিঃশব্দ করা আছে বা অডিও ট্র্যাক নেই। হ্যাঁ!

সংক্ষেপে:

  • <video autoplay> উপাদানগুলি নীচের শর্তগুলি পূরণ করে এমন উপাদানগুলির জন্য এখন অটোপ্লে বৈশিষ্ট্যটিকে সম্মান করবে:
    • <video> যদি তাদের উত্স মিডিয়াতে অডিও ট্র্যাক না থাকে তবে উপাদানগুলি কোনও ব্যবহারকারী অঙ্গভঙ্গি ছাড়াই অটোপ্লে করার অনুমতি পাবে।
    • <video muted> ব্যবহারকারীর অঙ্গভঙ্গি ছাড়াই উপাদানগুলিকে অটোপ্লে করার অনুমতি দেওয়া হবে।
    • যদি কোনও <video>উপাদান কোনও অডিও ট্র্যাক অর্জন করে বা ব্যবহারকারীর অঙ্গভঙ্গি ছাড়াই নিঃশব্দ হয়ে যায়, প্লেব্যাক বিরতি দেবে।
    • <video autoplay> উপাদানগুলি কেবল তখনই প্লে করা শুরু হবে যখন অন স্ক্রিনে দৃশ্যমান হয় যখন এগুলি যখন ভিউপোর্টে স্ক্রোল করা হয়, সিএসএসের মাধ্যমে দৃশ্যমান করা হয় এবং ডওমে প্রবেশ করা হয়।
    • <video autoplay> উপাদানগুলি অ-দৃশ্যমান হয়ে ওঠে, যেমন ভিউপোর্টের বাইরে স্ক্রোল করে p

এখানে আরও তথ্য: https://webkit.org/blog/6784/new-video-polferences-for-ios/


4
অটোপ্লে বৈশিষ্ট্যটি কেবল পিসিতে কাজ করে, মোবাইলে কাজ করে না। আমি অনেকবার চেষ্টা করেছি।
huykon225

7

এই সাফারি এইচটিএমএল 5 রেফারেন্সে , আপনি পড়তে পারেন

ব্যবহারকারীর ব্যয়ে সেলুলার নেটওয়ার্কগুলিতে অযৌক্তিক ডাউনলোডগুলি রোধ করতে, এম্বেড করা মিডিয়াগুলি আইওএসের সাফারিতে স্বয়ংক্রিয়ভাবে প্লে করা যায় না user ব্যবহারকারী সর্বদা প্লেব্যাক শুরু করে। আইডি বা আইপড স্পর্শে একবার নিয়ন্ত্রক প্লেব্যাক শুরু হওয়ার পরে স্বয়ংক্রিয়ভাবে সরবরাহ করা হয় তবে আইপ্যাডের জন্য আপনাকে অবশ্যই নিয়ন্ত্রণ বৈশিষ্ট্য নির্ধারণ করতে হবে বা জাভাস্ক্রিপ্ট ব্যবহার করে একটি নিয়ামক সরবরাহ করতে হবে।


38
"জিআইএফ ফাইলগুলি ছাড়াও যা একাধিক এমবি হতে পারে এবং লোকেরা এমনকি উপলব্ধি না করে ব্যান্ডউইথ ব্যবহার করতে পারে"
সাইমন_উইভার

@ সিমন_উইভার x12 বার বেশিরভাগ সময় সুনির্দিষ্ট হতে হবে।
বুরাক টোকাক

2

আইওএসে অটোপ্লে নিশ্চিত করতে প্রথমে ভিডিওটি নিঃশব্দ করা যাক, তারপর আপনি চাইলে এটি সশব্দ করুন।

<video autoplay loop muted playsinline>
  <source src="video.mp4?123" type="video/mp4">
</video>

<script type="text/javascript">
$(function () {
  if (!navigator.userAgent.match(/(iPod|iPhone|iPad)/)) {
    $("video").prop('muted', false);
  }
});
</script>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.