需求:webview可以通过录音后语音转文字。
使用插件:
Groovy
permission_handler: ^11.0.1
webview_flutter: ^4.7.0
代码如下:
1.添加权限
添加安卓的权限:
android/app/src/main/AndroidManifest.xml
html
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
添加IOS的权限:
ios/Runner/Info.plist
html
<key>NSMicrophoneUsageDescription</key>
<string>需要麦克风权限才能使用应用中的录音功能。</string>
2.监听请求
Dart
controller.platform.setOnPlatformPermissionRequest((request) {
Permission.speech.request().then((result) {
//如果没有权限就再次发起请求
if(result.isDenied){
Permission.speech.request();
}else if(result.isGranted){
request.grant(); //有权限就该干嘛干嘛,不加这句无法语音转文字
}
});
});
暂时还不知道request.grant(); 里做了什么,有时间再研究。