flutter 音频录制插件(flutter_sound)

本文介绍了Flutter的flutter_sound插件,用于Android和iOS的音频录制与播放。在使用过程中,作者遇到了音质较差的问题,经过排查发现是bitRate参数设置不当导致。通过调整bitRate的值(如设置为320000),可以改善录音质量。
摘要由CSDN通过智能技术生成

flutter_sound

官方介绍:这个插件为android和ios平台提供了简单的记录器和播放器功能。这只支持每个平台的默认文件扩展名。这个插件处理来自远程url的文件。这个插件可以处理本地播放流(通过桥接来同步准确的时间)。

插件网址:https://pub.dev/packages/flutter_sound

安装

pubspec.yaml添加依赖

dependencies:
  ...
  
  flutter_sound: ^1.1.5

接着在控制台运行flutter packages get获取依赖,最重要一点需要在AndroidManifest.xml文件中添加,权限请求

<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

代码(copy 官方)

期间出现的插件,请自行安装,方法同上

import 'package:flutter/material.dart';
import 'package:intl/intl.dart' show DateFormat;
import 'package:intl/date_symbol_data_local.dart';

import 'dart:io';
import 'dart:async';
import 'package:flutter_sound/flutter_sound.dart';
import 'package:flutter_sound/android_encoder.dart';
import 'dart:convert';


class RecorderPage extends StatelessWidget {
  const RecorderPage({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("音频录制页面"),
      ),
      body: RecorderContent(),
    );
  }
}

class RecorderContent extends StatefulWidget {
  RecorderContent({Key key}) : super(key: key);

  _RecorderContentState createState() => _RecorderContentState();
}

class _RecorderContentState extends State<RecorderContent> {
  bool _isRecording = false;
  bool _isPlaying = false;
  StreamSubscription _recorderSubscription;
  StreamSubscription _dbPeakSubscription;
  StreamSubscription _playerSubscription;
  FlutterSound flutterSound;

  String _recorderTxt = '00:00:00';
  String _playerTxt = '00:00:00';
  double _dbLevel;

  double slider_current_position = 0.0;
  double max_duration = 1.0;

  @override
  void initState() {
    super.initState();
    flutterSound = new FlutterSound();
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值