プロジェクトに統合されたH265ビデオストリーミングメディアプレーヤーEasyWasmPlayerがエラーを報告しました「CanvasRenderingContext2D」で「drawImage」を実行できませんでした

TSINGSEE Qingxi Videoによって開発されたビデオストリーミングメディアプレーヤーとして、EasyPlayerシリーズのプロジェクトは統合と二次開発をサポートします。ダウンロードして実際のテスト結果を取得することもできます。新しいH265プレーヤーブランチであるEasywasmPlayerはWebプレーヤーです。主流プレーヤー。

H265プレーヤーEasywasmPlayerは、複数のユーザープロジェクトに統合されて再生されています。もちろん、統合中にエラーが発生したユーザーもいます。たとえば、ユーザープロジェクトの統合エラーがあります。SyncPlayer.js:642 Uncaught TypeError:Failed 「CanvasRenderingContext2D」で「drawImage」を実行するには:指定された値はタイプ「」ではありません(CSSImageValueまたはHTMLImageElementまたはSVGImageElementまたはHTMLVideoElementまたはHTMLCanvasElementまたはImageBitmapまたはOffscreenCanvas)

60.png

エラーメッセージの説明は、スクリーンショットの要素が存在しないことを示していますが、ローカルテストに問題はありません。そのため、ユーザーサイトにアクセスしたところ、現地調査でユーザーがプレイヤースタイルをカスタマイズしていたため、場所に応じてスクリーンショットを撮る要素が得られなかったことがわかりました。

61.png

SyncPlayer.Jsファイルを見つけ、前に要素を取得する方法を変更し、次の図を参照して最適化して、ユーザープロジェクト統合の問題を解決します。

62.png

    var video = this.playerUI.getElementsByTagName('canvas')[0];
    if (video == undefined) {
      video = this.playerUI.getElementsByTagName('video')[0];
    }

63.png

EasyPlayerプロジェクトには、EasyPlayer RTSP、EasyPlayer RTMP、EasyPlayerPro、EasyPlayer.jsなど、使いやすさと待ち時間が短いプレーヤーも含まれています。皆さんの理解を歓迎します。

おすすめ

転載: blog.csdn.net/TsingSee/article/details/115246379