如何在Flutter中录制时创建音频波形



我想在颤振中录制时创建一个音频波形。要录制语音,我正在使用Flutter录音机。为了创建wave,我也尝试了这个插件wave Generator,但找不到任何积极的结果。

代码示例:

class AudioWave extends StatelessWidget {
const AudioWave({
Key key,
@required this.translateX,
@required List<double> audioPowerData,
})  : _audioPowerData = audioPowerData,
super(key: key);
final double translateX;
final List<double> _audioPowerData;
@override
Widget build(BuildContext context) {
return Container(
width: screenUtil.screenWidth,
margin: const EdgeInsets.only(top: 0, right: 0),
alignment: Alignment.topRight,
child: CustomPaint(
child: Container(height: 180.0, width: screenUtil.screenWidth),
painter: CurvePainter(translateX: translateX, data: _audioPowerData),
isComplex: true,   
willChange: false,    
),
);
}
}

我最近在一个名为mic_stream 的包上做了一些工作

如果你从这里克隆repo,并运行example目录中的应用程序,你会看到从麦克风中提取的(相对粗糙的(波形。希望它能给你一个良好的起点,你想建立什么!

更新:我认为ios端的mic_stream代码有问题。

相反,我可能建议使用以下存储库中的一些IOS代码,该存储库有一个IOS可视化工具:https://pub.dev/packages/audio_visualizer

最新更新