首页 > 解决方案 > 访问 dart2js 中未定义的 html 方法

问题描述

我需要访问 dart2js 文件中的replaceTrack方法RtcRtpSender,但是它没有定义:

@Native("RTCRtpSender")
class RtcRtpSender extends Interceptor {
  // To suppress missing implicit constructor warnings.
  factory RtcRtpSender._() {
    throw new UnsupportedError("Not supported");
  }

  MediaStreamTrack? get track native;
}

replaceTrack 方法在这里定义:https ://developer.mozilla.org/en-US/docs/Web/API/RTCRtpSender/replaceTrack

我怎么能打电话RtcRtpSender.replaceTrack()

我已经尝试了以下方法,它抛出了 _DartObject method not found

JsObject.fromBrowserObject(myRtcRtpSender).callMethod('replaceTrack',
          [null]);

标签: dartdart-htmldart2js

解决方案


感谢 gitter 中的@sunbreak,他让我想起了dart:js_util

import 'package:js/js_util.dart' as js_util;

js_util.callMethod(myRtcRtpSender, 'replaceTrack',
          [null]);

推荐阅读