【发布时间】:2021-09-07 15:03:55
【问题描述】:
我正在使用麦克风包录制语音,Flutter 将音频存储一段时间,我们可以作为音频 url 播放,但我需要将语音 url 以文件的形式存储在 firebase 存储中。 听我的代码....
void handleAudioState(AudioState state) {
setState(() {
if (audioState == AudioState.not) {
// Starts recording
try{
_recorder.start();
audioState = AudioState.recording;
}
catch(e){
print(e.toString());
}
// Finished recording
}
else if (audioState == AudioState.recording) {
audioState = AudioState.play;
_recorder.stop();
// Play recorded audio
}
else if (audioState == AudioState.play) {
audioState = AudioState.stop;
dynamic rec=_recorder.toBytes();
print(rec.toString());
// var file= File.fromRawPath(rec);
//print(file);
_audioPlayer=AudioPlayer();
_audioPlayer.setUrl(_recorder.value.recording!.url).then((value){
print(_recorder.value.recording!.url);
return _audioPlayer.play().then((value){
setState(() {
audioState = AudioState.play;
});
});
});
// Stop recorded audio
} else if (audioState == AudioState.stop) {
audioState = AudioState.play;
_audioPlayer.stop();
}
});
}
void handleAudioState(AudioState state) {
setState(() {
if (audioState == AudioState.not) {
// Starts recording
try{
_recorder.start();
audioState = AudioState.recording;
}
catch(e){
print(e.toString());
}
// Finished recording
} else if (audioState == AudioState.recording) {
audioState = AudioState.play;
_recorder.stop();
// Play recorded audio
} else if (audioState == AudioState.play) {
audioState = AudioState.stop;
dynamic rec=_recorder.toBytes();
print(rec.toString());
// var file= File.fromRawPath(rec);
//print(file);
_audioPlayer=AudioPlayer();
_audioPlayer.setUrl(_recorder.value.recording!.url).then((value){
print(_recorder.value.recording!.url);
return _audioPlayer.play().then((value){
setState(() {
audioState = AudioState.play;
});
});
});
// Stop recorded audio
} else if (audioState == AudioState.stop) {
audioState = AudioState.play;
_audioPlayer.stop();
}
});
}
我正在使用以下软件包 只是_音频:^0.8.0 麦克风: 请让我知道如何做到这一点, 感谢期待
【问题讨论】:
标签: flutter web audio microphone