Browse Source

Merge commit 'e4c5b5fbce23737d5f48b13c10c74ba3650511aa' into lxm

weicu
lxm 2 years ago
parent
commit
90415cf3ba
  1. 8
      android/app/build.gradle.kts
  2. 12
      android/app/src/main/kotlin/com/example/deep_voice/MainActivity.kt
  3. 6
      ios/Runner/AudioSessionManager.swift
  4. 15
      lib/core/widgets/select_location_map.dart
  5. 36
      lib/modules/meeting/views/meeting_record_view.dart

8
android/app/build.gradle.kts

@ -3,8 +3,6 @@ import java.io.FileInputStream
repositories { repositories {
google() google()
mavenCentral() mavenCentral()
maven { url = uri("https://artifact.bytedance.com/repository/Volcengine/") }
maven { url = uri("https://oss.sonatype.org/content/repositories/snapshots/") }
} }
plugins { plugins {
@ -42,7 +40,7 @@ android {
// You can update the following values to match your application needs. // You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config. // For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = 24 // Updated to meet azure_speech_recognition_null_safety requirements minSdk = 24 // Updated to meet azure_speech_recognition_null_safety requirements
targetSdk = 33 // 设置为 Android 13 (API 33),以匹配 FOREGROUND_SERVICE_MEDIA_PLAYBACK 权限的要求 targetSdk = 34 // 设置为 Android 13 (API 33),以匹配 FOREGROUND_SERVICE_MEDIA_PLAYBACK 权限的要求
versionCode = flutter.versionCode versionCode = flutter.versionCode
versionName = flutter.versionName versionName = flutter.versionName
} }
@ -83,9 +81,7 @@ android {
} }
dependencies { dependencies {
// WebRTC依赖已移除
// implementation("io.antmedia:webrtc-android-framework:2.8.0-SNAPSHOT")
// 添加OkHttp依赖 // 添加OkHttp依赖
implementation("com.squareup.okhttp3:okhttp:4.9.3") implementation("com.squareup.okhttp3:okhttp:4.9.3")

12
android/app/src/main/kotlin/com/example/deep_voice/MainActivity.kt

@ -267,7 +267,11 @@ class MainActivity: FlutterActivity() {
addAction(VoiceInteractionService.ACTION_RECOGNITION_STARTED) addAction(VoiceInteractionService.ACTION_RECOGNITION_STARTED)
addAction(VoiceInteractionService.ACTION_CHAT_HISTORY_UPDATED) addAction(VoiceInteractionService.ACTION_CHAT_HISTORY_UPDATED)
} }
registerReceiver(voiceInteractionReceiver, voiceInteractionFilter) if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
registerReceiver(voiceInteractionReceiver, voiceInteractionFilter, Context.RECEIVER_NOT_EXPORTED)
} else {
registerReceiver(voiceInteractionReceiver, voiceInteractionFilter)
}
// 注册蓝牙状态变化广播接收器 // 注册蓝牙状态变化广播接收器
val bluetoothFilter = IntentFilter().apply { val bluetoothFilter = IntentFilter().apply {
@ -275,7 +279,11 @@ class MainActivity: FlutterActivity() {
addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED) addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED)
addAction(BluetoothAdapter.ACTION_STATE_CHANGED) addAction(BluetoothAdapter.ACTION_STATE_CHANGED)
} }
registerReceiver(bluetoothStateReceiver, bluetoothFilter) if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
registerReceiver(bluetoothStateReceiver, bluetoothFilter, Context.RECEIVER_NOT_EXPORTED)
} else {
registerReceiver(bluetoothStateReceiver, bluetoothFilter)
}
} }
override fun configureFlutterEngine(flutterEngine: FlutterEngine) { override fun configureFlutterEngine(flutterEngine: FlutterEngine) {

6
ios/Runner/AudioSessionManager.swift

@ -206,7 +206,7 @@ import UIKit
// 重新激活会话 // 重新激活会话
try audioSession.setActive(true, options: .notifyOthersOnDeactivation) try audioSession.setActive(true, options: .notifyOthersOnDeactivation)
isActive = true isActive = true
// 切换到扬声器
// 记录当前配置 // 记录当前配置
currentCategory = category currentCategory = category
currentMode = mode currentMode = mode
@ -319,6 +319,8 @@ import UIKit
], ],
force: false // 是否强制重新配置 force: false // 是否强制重新配置
) )
try audioSession.overrideOutputAudioPort(.speaker)
} }
@ -516,6 +518,8 @@ import UIKit
force: force // 是否强制重新配置 force: force // 是否强制重新配置
) )
try audioSession.overrideOutputAudioPort(.speaker)
// 额外的优化配置 // 额外的优化配置
if configureAdditionalSettings { if configureAdditionalSettings {
// 获取当前是否使用耳机 // 获取当前是否使用耳机

15
lib/core/widgets/select_location_map.dart

@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class SelectLocationMap extends StatefulWidget {
const SelectLocationMap({super.key});
@override
State<SelectLocationMap> createState() => _SelectLocationMapState();
}
class _SelectLocationMapState extends State<SelectLocationMap> {
@override
Widget build(BuildContext context) {
return const Placeholder();
}
}

36
lib/modules/meeting/views/meeting_record_view.dart

@ -5,6 +5,7 @@ import 'package:get/get.dart';
import 'package:lottie/lottie.dart'; import 'package:lottie/lottie.dart';
import '../../../core/theme/app_colors.dart'; import '../../../core/theme/app_colors.dart';
import '../../../core/widgets/select_location_map.dart';
import '../controllers/meeting_record_controller.dart'; import '../controllers/meeting_record_controller.dart';
class MeetingRecordView extends GetView<MeetingRecordController> { class MeetingRecordView extends GetView<MeetingRecordController> {
@ -121,23 +122,28 @@ class MeetingRecordView extends GetView<MeetingRecordController> {
], ],
), ),
), ),
Padding( GestureDetector(
padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 5.w), onTap: () {
child: Row( Get.to(() => const SelectLocationMap());
children: [ },
Icon( child: Padding(
Icons.location_on, padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 5.w),
size: 16.w, child: Row(
color: isDarkMode ? Colors.grey[400] : Colors.grey[500], children: [
), Icon(
Text( Icons.location_on,
controller.address.value, size: 16.w,
style: TextStyle(
color: isDarkMode ? Colors.grey[400] : Colors.grey[500], color: isDarkMode ? Colors.grey[400] : Colors.grey[500],
fontSize: 14.sp,
), ),
), Text(
], controller.address.value,
style: TextStyle(
color: isDarkMode ? Colors.grey[400] : Colors.grey[500],
fontSize: 14.sp,
),
),
],
),
), ),
), ),
_recordContent(isDarkMode), _recordContent(isDarkMode),

Loading…
Cancel
Save