エラー150は十分に文書化されていません。 なぜビデオが再生されないのか理解できませんでした。
また、ビデオのサムネイルは利用できませんhttps://i3.ytimg.com/vi_webp/GUqcY8WNTZs/sddefault.webp
@sarbagyastha著作権で保護されている音楽があるからだと思います。
そうそう、 @ EliasDeussは、同じチャンネルの5本の動画と、著作権で保護された音楽のない動画を150なしで再生したのに対し、著作権で保護された音楽の動画は150でテストしました。
@sarbagyasthaプレーヤーで利用できない場合は、Youtubeでビデオを開くオプションがあるはずです。
@EliasDeussエラーを聞いて、自分で実装できます。
このエラーは4.1.0以前のバージョンでは発生しません
確認できます。 4.1.0から最新バージョンにアップグレードしようとしましたが、このエラーが発生しました。 バージョン4.1.0を使用したことはありません。 何が変わったの?
@sarbagyastha再生エラーをどのようにキャッチするのですか?
YouTube動画を埋め込もうとしていますが、一部の動画は特定のドメインでのみ再生できるように制限されています。 再生ボタンを表示する前にこのエラーをキャッチして、再生できないことを示したいと思います。 これを行う方法はありますか?
リファラーヘッダーで遊ぶことができれば最高です。 このStackOverflowの投稿は、それが可能であるように思わせます。 このプラグインでこれを行う方法はありますか?
@sarbagyastha @TheBestMosheが提案したことで、エラー150の問題のほとんどが修正されると思います
@TheBestMosheご指摘ありがとうございます。 私は間違いなくそれを調べます。
これが私がこれまでに見つけたものです:
エラーの概要
youtube_player_flutter
は、flutter_webviewを使用してYoutubeプレーヤーを埋め込むためにYoutube IFrame APIを使用しており、IFRAMEAPIがエラーを生成しています。 プレーヤーが受け取る可能性のあるすべてのエラーを表示するためのリンクは次のとおりです: https ://developers.google.com/youtube/iframe_api_reference#Events
エラー150に関連するものは次のとおりです。
101
–要求されたビデオの所有者は、埋め込みプレーヤーでの再生を許可していません。
150
–このエラーは101と同じです。これは変装した101エラーです。
これは、ビデオの所有者が埋め込み再生するビデオを無効にしていることを意味します。
ビデオメタデータ
embeddable
、 restricted
、およびYouTube Data APIを使用して機能していなかった動画の他のプロパティを確認して、キーを取得してみました。
https://www.googleapis.com/youtube/v3/videos?id=[VIDEO_ID]&key=[API_KEY]&part=snippet,contentDetails,status
ブロックされたビデオとブロックされていないビデオのメタデータに違いは見つかりませんでした。
エラー報告
プラグインによって内部的に使用されるRawYoutubePlayer
ウィジェットでは、エラーが発生すると、エラーコード(たとえば150)がcontroller.value
の値としてここに設定されます。
https://github.com/sarbagyastha/youtube_player_flutter/blob/6f21d8b25019394257c71b7399c9199ee5198a17/lib/src/player/raw_youtube_player.dart#L175 -L181
controller.value
は、エラーの報告と処理を監視できると思いますが、 onError
メソッドを使用したより適切な処理が公開されており、ドキュメントの一部の情報も非常に役立ちます。
自分の動画を使っても同じ問題があります
4.1.0
を使用してみましたが、そのバージョンでサンプルを機能させることができませんでした。 1つの違いは、$# playerVars
のorigin
フィールドが設定されなくなったことです。 playerVars
にorigin
を設定してみましたが、うまくいきませんでした。
奇妙なことに、natiaveライブラリhttps://github.com/hmhv/YoutubePlayer-in-WKWebViewを使用して同じエラーが発生しましたが、 origin
をhttps://www.youtube.com
に設定した後、ビデオを正常に埋め込むことができました。
したがって、これは一部のビデオでは修正可能な問題のようです。 リファラーに関連している可能性があります。
詳細-別のフラッターライブラリを使用してビデオを埋め込むことができましたhttps://github.com/hoanglm4/flutter_youtube_view
すべての種類のビデオで同じエラー
特別なものではなく、サンプルビデオが含まれています
この問題に関する更新はありますか?
バージョン6.1.0で修正
問題は解決しました。 ありがとう!
こんにちは、
6.1.0 +4でもこのエラーが発生します。
問題はまだ続く->このビデオ
こんにちは、韓国から
私もまだこのエラーがあります。
再生したいビデオは著作権で保護されたビデオ(MV)です。
エミュレーターで再生できますが、リリースされたgoogleplayを介して実際のデバイス(Pixel 3)で再生できません。 エラーメッセージはありません。読み込みサークルは無限に実行されます。
私のような人はいますか?
それはまだ持続します。
ビデオにサウンドクラウドの音楽が含まれている場合でも、YouTubeの著作権ではありません。
私の場合、問題は、ビデオIDのすべての大文字と小文字を区別することであり、大文字と小文字が区別されます。 YE7VzlLtp-4の代わりに、ye7vzlltp-4を送信していました。
最も参考になるコメント
こんにちは、
6.1.0 +4でもこのエラーが発生します。