如何在Flutter web中使用package:web?

问题描述 投票:0回答:1

我想使用 Flutter web 开始录制 von Mic(仅限,不需要移动支持)。使用 dart:html 一切都很顺利。

不,我转换为 package:web 但一切都充满错误。谁能帮我看看这里正确的称呼是什么?

import 'package:web/web.dart' as web;

然后...

enter image description here

flutter web package mediarecorder
1个回答
0
投票

我猜你的

_startRecording
应该是这样的:

Future<void> _startRecording() async {
  print("Start Recording");
  final mediaStream = await promiseToFuture<web.MediaStream>(web
      .window.navigator.mediaDevices
      .getUserMedia(web.MediaStreamConstraints(audio: true.toJS)));
  final _mediaRecorder = web.MediaRecorder(
      mediaStream,
      web.MediaRecorderOptions(
          mimeType: 'audio/webm', audioBitsPerSecond: 16000));
}

首先 – 需要使用

true
true.toJS
转换为 JSBoolean。然后使用
JSpromise
getUserMedia
promiseToFuture
返回它)转换为 Future 并等待它。现在,在创建
MediaRecorder
时,
mediaStream
将具有适当的类型。最后但并非最不重要的一点是,现在可以输入
MediaRecorderOptions
,因此您不仅可以传递
Map
,还可以传递选项本身。

祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.