【发布时间】:2024-08-18 21:35:02
【问题描述】:
我正在尝试使用 DART 使用 HTML5 网络音频 API,但无法弄清楚为什么 onEnded 事件不起作用。
这里是代码
import 'dart:html';
import 'dart:web_audio';
import 'dart:async';
import 'dart:typed_data';
//import 'package:web_ui/web_ui.dart';
//import 'dart:io';
class AudioPlayer {
AudioContext audioContext;
AudioPlayer() {
audioContext = new AudioContext();
loadChunks();
}
loadChunks() {
HttpRequest request = new HttpRequest();
request.open("GET", "Say.mp3", async: true);
request.responseType = "arraybuffer";
request.onLoad.listen((e) {
audioContext.decodeAudioData(request.response)
.then((AudioBuffer audioBuffer) {
AudioBufferSourceNode audioBufferSourceNode = audioContext.createBufferSource()
..buffer = audioBuffer
..connectNode(audioContext.destination)
..start(0)
..loop = false
..onEnded.listen((e) {
print("TES");
});
});
});
request.send();
}
}
代码有问题吗?请提出建议。
【问题讨论】:
标签: html dart web-audio-api dart-html