/// 通知断开蓝牙
public func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) {
DCLogger.debug("蓝牙已断开 \(peripheral)")
+ if DCPhoneRecord.shared.isRecording {
+ DCPhoneRecord.shared.stop()
+ }
StarburstSdk.shared().bleDisConnected()
}
var translateList : [(String,Int)] = []
var translateText = ""
+ var isRecording = false
/// 开始
public func start(){
+ isRecording = true
let config = StarburstAsrConfig()
config.isTranslate = isTranslate
config.fromLanguage = fromLanguage
}
}
} stateChange: {[weak self] code in
+ if code.rawValue == 20002 {
+ self?.isRecording = false
+ }
DCLogger.debug("状态改变",code)
self?.codeCallback?(code.rawValue)
} interruption: { [weak self] in
+ self?.isRecording = false
self?.interruptionCallBack?()
}
}
/// 停止
public func stop(){
+ isRecording = false
StarburstSdk.shared().stopRecordAsr {[weak self] filePath in
DCLogger.debug("文件录音保存路径 \(filePath ?? "")")
self?.filePathCallBack?(filePath)
Resource/record_start_joy.gif,
Resource/record_start.gif,
Sdk/CCAiManager.swift,
- Sdk/CCBleManager.swift,
- Sdk/CCDevice.swift,
- Sdk/CCPage.swift,
Sdk/DcSdk/tool/CCBleManager.swift,
Sdk/DcSdk/tool/CCConfig.swift,
Sdk/DcSdk/tool/CCDevice.swift,
Sdk/DcSdk/tool/DcSdkManager.swift,
Sdk/DcSdk/tool/DcStereo.swift,
Sdk/DcSdk/tool/DcTcty.swift,
- Sdk/DcSdk/tool/DcThly.swift,
Sdk/DcSdk/tool/DcXcly.swift,
Sdk/DcSdk/tool/JLAudioUnitKit.xcframework,
Sdk/DcSdk/tool/OpusTools.swift,
Info.plist,
playboy.storyboard,
playboy.xcassets,
- Sdk/CCBleManager.swift,
- Sdk/CCDevice.swift,
- Sdk/CCPage.swift,
Sdk/DcSdk/tool/CCBleManager.swift,
Sdk/DcSdk/tool/CCConfig.swift,
Sdk/DcSdk/tool/CCDevice.swift,
Sdk/DcSdk/tool/DcSdkManager.swift,
Sdk/DcSdk/tool/DcStereo.swift,
Sdk/DcSdk/tool/DcTcty.swift,
- Sdk/DcSdk/tool/DcThly.swift,
Sdk/DcSdk/tool/DcXcly.swift,
Sdk/DcSdk/tool/JLAudioUnitKit.xcframework,
Sdk/DcSdk/tool/OpusTools.swift,
"/Localized: LaunchScreen.storyboard",
Assets.xcassets,
Info.plist,
- Sdk/CCBleManager.swift,
- Sdk/CCDevice.swift,
- Sdk/CCPage.swift,
Sdk/JoySdk/tool/CCBleManager.swift,
Sdk/JoySdk/tool/CCConfig.swift,
Sdk/JoySdk/tool/CCDevice.swift,
+++ /dev/null
-////
-//// CCBleManager.swift
-//// ShenYin
-////
-//// Created by liangshi on 2025/12/25.
-////
-//
-//import UIKit
-//import CoreBluetooth
-//import AVFAudio
-//
-////#if FEATURE_X
-//import DeepChordsSdk
-////#endif
-//
-//
-//class DCPeripheral{
-// var device:CBPeripheral!
-// var mac = ""
-// init(device: CBPeripheral!, mac: String = "") {
-// self.device = device
-// self.mac = mac
-// }
-//}
-//
-//class CCBleManager: NSObject {
-// var discoverDeviceCallback: (([DCPeripheral]) -> Void)?
-// var didConnectDeviceCallback: ((DCPeripheral) -> Void)?
-// var conetedFailureCallback: ((DCPeripheral) -> Void)?
-//
-// private var centralManager: CBCentralManager!
-// var devices: [DCPeripheral] = []
-// var connectPeripheral: DCPeripheral?
-// static let shared = CCBleManager()
-// var isConnetd:Bool = false
-//
-// private override init() {
-// super.init()
-// centralManager = CBCentralManager(delegate: self, queue: nil)
-// }
-//}
-//extension CCBleManager:CBCentralManagerDelegate{
-// func centralManagerDidUpdateState(_ central: CBCentralManager) {
-// Logger.debug("蓝牙状态",central.state.rawValue)
-// switch central.state {
-// case.unknown:
-// break
-// case.resetting:
-// break
-// case.unsupported:
-// break
-// case.unauthorized:
-// break
-// case.poweredOff:
-// self.isConnetd = false
-// NotificationManager.post(type: .deviceValidChange, objtect: nil)
-// break
-// case.poweredOn:
-// startScanDevice()
-// checkConectState()
-// break
-// @unknown default:
-// break
-// }
-// OtaMananger.shared.otaManager.centralManagerDidUpdateState(central)
-// }
-//
-// func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
-// if devices.map({ $0.device }).contains(peripheral) {
-// return
-// }
-// Logger.debug(peripheral)
-//
-// if let name = peripheral.name,name.hasPrefix("AI") {
-// let mac = DcSdkManager.getMac(advertisementData) ?? ""
-// devices.append(DCPeripheral(device: peripheral,mac: mac))
-// discoverDeviceCallback?(devices)
-// }
-// else{
-//// let mac = JoySdkManager.getMac(advertisementData) ?? ""
-//// devices.append(DCPeripheral(device: peripheral,mac: mac))
-//// discoverDeviceCallback?(devices)
-// }
-//// if CCDevice.isJoy{
-//// let mac = JoySdkManager.getMac(advertisementData) ?? ""
-//// devices.append(DCPeripheral(device: peripheral,mac: mac))
-//// discoverDeviceCallback?(devices)
-//// }
-//// else{
-//// let mac = DcSdkManager.getMac(advertisementData) ?? ""
-//// devices.append(DCPeripheral(device: peripheral,mac: mac))
-//// discoverDeviceCallback?(devices)
-//// }
-// }
-//
-// func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
-// stopScanDevice()
-// Logger.debug("蓝牙已连接 \(peripheral)")
-// peripheral.delegate = self
-// if CCDevice.isJoy{
-//// peripheral.discoverServices([CBUUID(string: JoySdkManager.serviceUUID),CBUUID(string: OtaMananger.otaServiceUUId)]);
-// }
-// else{
-// DCBleManager.shared.centralManager(central, didConnect: peripheral)
-// peripheral.discoverServices([CBUUID(string: DCBleManager.serviceUUID),CBUUID(string: OtaMananger.otaServiceUUId)]);
-// }
-// }
-// func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) {
-// Logger.debug("peripheral: %@ failed to connect", peripheral)
-// conetedFailureCallback?(connectPeripheral!)
-// }
-// func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) {
-// Logger.debug("蓝牙已断开 \(peripheral)")
-// YLprogressHUD.showAutoHiden("蓝牙已断开".l10n)
-// self.isConnetd = false
-// if CCDevice.isJoy{
-// }
-// else{
-// DCBleManager.shared.centralManager(central, didDisconnectPeripheral: peripheral, error: nil)
-// }
-// NotificationManager.post(type: .deviceValidChange, objtect: nil)
-// OtaMananger.shared.otaManager.centralManager(central, didDisconnectPeripheral: peripheral, error: error)
-// checkConectState()
-// }
-//}
-//
-//extension CCBleManager: CBPeripheralDelegate {
-// func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?) {
-// Logger.debug("发现服务成功")
-// for service in peripheral.services! {
-// Logger.debug("peripheral service: %@", service)
-// peripheral.discoverCharacteristics(nil, for: service)
-// }
-// }
-//
-// func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error: Error?) {
-// if CCDevice.isJoy{
-//// if (service.uuid.uuidString == JoySdkManager.serviceUUID) {
-//// JoySdkManager.shared.peripheral(peripheral, didDiscoverCharacteristicsFor: service, error: error)
-//// }
-//// else if service.uuid.uuidString == OtaMananger.otaServiceUUId{
-//// OtaMananger.shared.otaManager.peripheral(peripheral, didDiscoverCharacteristicsFor: service, error: error)
-//// }
-// }
-// else{
-// DCBleManager.shared.peripheral(peripheral, didDiscoverCharacteristicsFor: service, error: error)
-// }
-// }
-//
-// func peripheral(_ peripheral: CBPeripheral, didUpdateNotificationStateFor characteristic: CBCharacteristic, error: (any Error)?) {
-// if CCDevice.isJoy{
-//// if (characteristic.isNotifying == true && characteristic.service?.uuid.uuidString == JoySdkManager.serviceUUID && characteristic.uuid.uuidString == JoySdkManager.notifyUUID) {
-//// Logger.debug("特征使能成功")
-//// JoySdkManager.shared.bleConnected()
-//// }
-//// if OtaMananger.isOtadata(characteristic){
-//// OtaMananger.shared.otaManager.peripheral(peripheral, didUpdateNotificationStateFor: characteristic, error: error)
-//// }
-// }
-// }
-//
-// func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
-// // Logger.debug("收到数据 ===uUId ",characteristic.uuid)
-// if CCDevice.isJoy{
-//// if OtaMananger.isOtadata(characteristic){
-//// if let _ = characteristic.value,error == nil {
-//// OtaMananger.shared.otaManager.peripheral(peripheral, didUpdateValueFor: characteristic)
-//// }
-//// else{
-//// Logger.debug("ota 收到数据 ===\(characteristic.uuid)","无数据")
-//// }
-//// }
-//// else {
-//// //MARK: 需要配置传入数据
-//// JoySdkManager.shared.receiveValue(characteristic)
-//// }
-// }
-// else{
-// DCBleManager.shared.peripheral(peripheral, didUpdateValueFor: characteristic, error: error)
-// }
-// }
-//
-// func peripheral(_ peripheral: CBPeripheral, didModifyServices invalidatedServices: [CBService]) {
-// // Accessory's GATT database has updated. Refresh your local cache (if any)
-// }
-//
-// func peripheral(_ peripheral: CBPeripheral, didWriteValueFor characteristic: CBCharacteristic, error: (any Error)?) {
-//
-// }
-//}
-//
-//extension CCBleManager{
-// func startScanDevice() {
-// // centralManager.stopScan()
-// Logger.debug("扫描中...")
-// Logger.debug("蓝牙状态",centralManager.state.rawValue)
-// devices = []
-// // let list = centralManager.retrieveConnectedPeripherals(withServices: [CBUUID(string: kJoyGemAIServiceUUID)])
-// // Logger.debug("已连接设备",list)
-// // for item in list {
-// // if let mac = DeviceCache.shared.getMac(item.identifier.uuidString){
-// // devices.append(DCPeripheral(device: item,mac: mac))
-// // }
-// // }
-// if CCDevice.isJoy{
-//// centralManager.scanForPeripherals(withServices: [CBUUID(string: JoySdkManager.serviceUUID)],options: [CBCentralManagerScanOptionAllowDuplicatesKey : false])
-// }
-// else{
-// centralManager.scanForPeripherals(withServices: [CBUUID(string: DCBleManager.serviceUUID)],options: [CBCentralManagerScanOptionAllowDuplicatesKey : false])
-// }
-// discoverDeviceCallback?(devices)
-// }
-//
-// func stopScanDevice() {
-// centralManager.stopScan()
-// }
-//
-// func connectPeripheral(_ peripheral: DCPeripheral) {
-// connectPeripheral = peripheral
-// if let name = peripheral.device.name,name.hasPrefix("AI") {
-// CCDevice.isJoy = false
-// }
-// else{
-// CCDevice.isJoy = true
-// }
-// CCDevice.initSdk()
-// Logger.debug(peripheral.device.name ?? "","连接中...")
-// centralManager.connect(peripheral.device, options: [CBConnectPeripheralOptionEnableTransportBridgingKey:true])
-// }
-//
-// func cancel() {
-// guard let peripheral = connectPeripheral else { return }
-// if self.isConnetd {
-// self.isConnetd = false
-// centralManager.cancelPeripheralConnection(peripheral.device)
-// }
-//
-// NotificationManager.post(type: .deviceValidChange, objtect: nil)
-// connectPeripheral = nil
-// }
-// func unbind(_ peripheral: DCPeripheral){
-// if let mac = connectPeripheral?.mac ,peripheral.mac == mac{
-// cancel()
-// }
-// }
-//}
-//
-//extension CCBleManager{
-// func joySdkSend(_ data: Data, with characteristic: CBCharacteristic) {
-// if let connectPeripheral = connectPeripheral{
-// connectPeripheral.device.writeValue(data, for: characteristic, type:.withoutResponse)
-// }
-// }
-//}
-//
-//extension CCBleManager{
-// func isConected(mac:String)->Bool{
-// guard let device = connectPeripheral else { return false }
-// if device.mac == mac {
-// return isConnetd
-// }
-// else{
-// return false
-// }
-// }
-//
-// // #连接有问题,应当获取设置里面已连接的设备
-// func connect(mac:String, finished:@escaping ((Bool) -> Void)){
-// CCBleManager.shared.cancel()
-// CCBleManager.shared.discoverDeviceCallback = { list in
-// if list.count <= 0 {
-// return
-// }
-// for item in list {
-// if item.mac == mac {
-// CCBleManager.shared.connectPeripheral(item)
-// break
-// }
-// }
-// }
-// CCBleManager.shared.didConnectDeviceCallback = { device in
-// finished(true)
-// }
-// CCBleManager.shared.conetedFailureCallback = { device in
-// finished(false)
-// }
-// CCBleManager.shared.startScanDevice()
-// }
-//
-// func checkSettingsConnected()->[CBPeripheral]{
-// if CCDevice.isJoy {
-//// let list = centralManager.retrieveConnectedPeripherals(withServices: [CBUUID(string: JoySdkManager.serviceUUID)])
-//// Logger.debug("已连接设备",list)
-//// return list
-// return []
-// }
-// else{
-// let list = centralManager.retrieveConnectedPeripherals(withServices: [CBUUID(string: DCBleManager.serviceUUID)])
-// Logger.debug("已连接设备",list)
-// return list
-// }
-// }
-//}
-//
-//extension CCBleManager{
-// func checkConectState(){
-// guard let mac = connectPeripheral?.mac else {
-// return
-// }
-// if isConnetd {
-// return
-// }
-// connect(mac: mac) {result in
-// }
-//
-// DispatchQueue.main.asyncAfter(deadline:.now() + 10) {
-// self.checkConectState()
-// }
-// }
-//}
+++ /dev/null
-//
-// Device.swift
-// ShenYin
-//
-// Created by liangshi on 2025/12/25.
-//
-import JoyGemAI
-import DeepChordsSdk
-class CCDevice{
- static var isJoy = true
- static func initSdk(){
- if CCDevice.isJoy {
- JoySdkManager.shared.setupSdk()
- }
- else{
- DcSdkManager.shared.initSdk()
- }
- }
- static func translate(text:String,from:String,to:String,finished:@escaping ((stream:String,finish:Bool)?)->Void){
- if isJoy {
- JoyGemAIManager.shared().cancelTranslateRequest()
- JoyGemAIManager.shared().translate(text, from: from, to: to) { result, finish in
- finished((result,finish))
- } error: { error in
- finished(nil)
- }
- }
- else{
- DCText.cancelTranslateByTextWithSplit()
- DCText.translate(text: text, from: from, to: to) { result in
- finished(result)
- }
- }
- }
- static func summary(text:String,finished:@escaping ((stream:String,finish:Bool)?)->Void){
- if isJoy {
- JoyGemAIManager.shared().cancelSummaryRequest()
- JoyGemAIManager.shared().summary(text) { text, finish in
- finished((text,finish))
- } error: { error in
- finished(nil)
- }
- }
- else{
- DCText.cancelSummaryByTextWithSplit()
- DCText.sumary(text: text) { result in
- finished(result)
- }
- }
- }
-}
-extension CCDevice{
- static func findHeadphone(_ mode:FindType){
- if CCDevice.isJoy {
- var value:JoyGemFindHeadphoneMode = .all
- switch mode {
- case .left:
- value = .left
- case .right:
- value = .right
- case .cancel:
- value = .cancel
- case .all:
- value = .all
- }
- JoyGemAIManager.shared().device.findHeadphone(value) { err in
- Logger.debug("findHeadphone:\(err)");
- }
- }
- else{
- let value:UInt8 = mode == .cancel ? 0:1
- DCDevice.shared.findDevice(state: value) { result in
- }
- }
- }
- static func getEQMode(finished:@escaping (ModeEffectsType?)->Void){
- if CCDevice.isJoy {
- JoyGemAIManager.shared().device.getEQMode { mode in
- var value:ModeEffectsType = .normal
- switch mode {
- case .normal:
- value = .normal
- case .pop:
- value = .pop
- case .classic:
- value = .classic
- case .rock:
- value = .rock
- case .jazz:
- value = .jazz
- case .custom:
- value = .custom
- }
- finished(value)
- } error: { err in
- Logger.debug("getEQMode:\(err)");
- finished(nil)
- }
- }
- else{
- /// type, 0x00(正常模式)
- // 0x01(流行)
- // 0x02(经典)
- // 0x03(爵士)
- // 0x04(摇滚)
- // 0x05(自定义)
- DCDevice.shared.getEQ { (arg0,result) in
- guard let (type,list) = arg0 else{
- finished(nil)
- return
- }
- switch type{
- case 0:
- finished(.normal)
- case 1:
- finished(.pop)
- case 2:
- finished(.classic)
- case 3:
- finished(.jazz)
- case 4:
- finished(.rock)
- case 5:
- finished(.custom)
- default:
- finished(nil)
- }
- }
- }
- }
- static func setEQMode(_ type:ModeEffectsType){
- if CCDevice.isJoy {
- var value:JoyGemEQMode = .normal
- switch type {
- case .normal:
- value = .normal
- case .pop:
- value = .pop
- case .classic:
- value = .classic
- case .rock:
- value = .rock
- case .jazz:
- value = .jazz
- case .custom:
- value = .custom
- }
-
- JoyGemAIManager.shared().device.setEQMode(value) { err in
- Logger.debug("setEQMode:\(err)");
- }
- }else{
- let value:UInt8 = UInt8(type.rawValue)
- DCDevice.shared.setEQ(type: value) { success in
-
- }
- }
- }
-
-
- static func getCustomEQ(finished:@escaping ([NSNumber]?)->Void){
- if CCDevice.isJoy {
- JoyGemAIManager.shared().device.getCustomEQ { eq in
- Logger.debug("getCustomEQ:\(eq)");
- finished(eq.bands)
- } error: { err in
- Logger.debug("getCustomEQ:\(err)");
- finished(nil)
- }
- }
- else{
- DCDevice.shared.getEQ { (arg0,result) in
- guard let (type,list) = arg0 else{
- finished(nil)
- return
- }
- if type == 5{
- let nums = list.map { NSNumber(value: $0) }
- finished(nums)
- }
- else{
- finished(nil)
- }
- }
- }
- }
- static func resetCustomEQ(){
- if CCDevice.isJoy {
- JoyGemAIManager.shared().device.resetCustomEQ { err in
- Logger.debug("resetCustomEQ:\(err)");
- }
- }
- else{
- let list = [
- 0,0,0,0,0,0,0,0,0,0,0,0
- ]
- let dispatchGroup = DispatchGroup()
- for (index,item) in list.enumerated() {
- dispatchGroup.enter()
- DCDevice.shared.setCustomEQ(index: UInt8(index), value: item) {result in
- dispatchGroup.leave()
- }
- }
- dispatchGroup.notify(queue:.main) {
- DCDevice.shared.setEQ(type: 0x05) {result in
- }
- }
- }
- }
- static func setCustomEQ(index:Int,value:Int){
- if CCDevice.isJoy {
- JoyGemAIManager.shared().device.setCustomEQ(UInt(index), withGain: value) { err in
- Logger.debug("setCustomEQ:\(err)");
- }
- }
- else{
- DCDevice.shared.setCustomEQ(index: UInt8(index), value: value) {result in
- }
- }
- }
-}
-extension CCDevice{
-// static func getMac(finished:@escaping ((_ mac:String?)->Void)) {
-// if CCDevice.isJoy {
-// JoyGemAIManager.shared().device.macAddress { edr, ble in
-// Logger.debug("edr:\(edr),ble:\(ble)");
-// finished(edr.uppercased())
-// } error: { error in
-// Logger.debug("\(error!.localizedDescription)")
-// finished(nil)
-// }
-// }
-// else{
-//// DCDevice.shared.getSoftVersion {result in
-//// finished(result)
-//// }
-// }
-// }
- static func getDN(finished:@escaping ((_ mac:String?)->Void)) {
- if CCDevice.isJoy {
- JoyGemAIManager.shared().device.getDN { deviceName in
- finished(deviceName)
- } error: { error in
- Logger.debug("获取dn失败","\(error!.localizedDescription)")
- finished(nil)
- }
- }
- else{
- let dn = DCText.getDeviceName()
- finished(dn)
- }
- }
- static func getVersion(finished:@escaping ((_ version:String?)->Void)) {
- if CCDevice.isJoy {
- JoyGemAIManager.shared().device.software { version in
- finished(version)
- } error: { error in
- Logger.debug("\(error!.localizedDescription)");
- finished(nil)
- }
- }
- else{
- DCDevice.shared.getSoftVersion {result in
- finished(result)
- }
- }
- }
-}
+++ /dev/null
-//
-// CCVCManager.swift
-// ShenYin
-//
-// Created by liangshi on 2025/12/26.
-//
-
-class CCPage{
- static func gotoChat(){
- if CCDevice.isJoy {
-// App.shared.goToPage(JoyChatVC())
- }
- else{
- App.shared.goToPage(DcChatVC())
- }
- }
- static func gotoFieldRecord(){
- if CCDevice.isJoy {
-// App.shared.goToPage(JoyXclyVC())
- }
- else{
- App.shared.goToPage(DcXclyVC())
- }
- }
- static func gotoCallRecord(){
- if CCDevice.isJoy {
-// if JoySdkManager.shared.callRecord.supportStereo{
-// App.shared.goToPage(JoyStereoCallVC())
-// }
-// else{
-// App.shared.goToPage(JoyCallingRecordVC())
-// }
- }
- else{
-// if JoySdkManager.shared.callRecord.supportStereo{
- App.shared.goToPage(DcStereoCallVC())
-// }
-// else{
-// App.shared.goToPage(DcCallingRecordVC())
-// }
- }
- }
- static func gotoChinese2Enlgish(){
- if CCDevice.isJoy {
-// App.shared.goToPage(JoyChinese2EnglishVC())
- }
- else{
- App.shared.goToPage(DcChinese2EnglishVC())
- }
- }
- static func gotoTcty(){
- if CCDevice.isJoy {
-// App.shared.goToPage(JoyTctyVC())
- }
- else{
- App.shared.goToPage(DcTctyVC())
- }
- }
- static func gotoDialogTranslate(){
- if CCDevice.isJoy {
-// App.shared.goToPage(JoyDialogTranslateVC())
- }
- else{
- App.shared.goToPage(DcDialogTranslateVC())
- }
- }
-}
func setupSdk() {
DcXcly.shared.recordFinish = {[weak self] path in
guard let self = self else { return }
+ rhythView.stopTimer()
if !needSave {
return
}
+++ /dev/null
-////
-//// DcThly.swift
-//// ShenYin
-////
-//// Created by liangshi on 2025/12/29.
-////
-//
-//import UIKit
-//import DeepChordsSdk
-//
-//class DcThly:NSObject{
-// static let shared = DcThly()
-//
-// var recordFinish:((String)->Void)?
-// var recordNeedReloadData:((String)->Void)?
-// var recordList : [(String,UInt)] = []
-// var recordText = ""
-// /// 状态码回调
-// public var codeCallback:((Int)->Void)?
-// public var callRecordNotOnCall:(()->Void)?
-//
-//
-// override init() {
-// super.init()
-// setupSdk()
-// }
-// func setupSdk(){
-// DCBleRecord.shared.asrCallback = { [weak self] text in
-// guard let self = self else{return}
-// recordText = text
-// recordNeedReloadData?(text)
-// }
-// DCBleRecord.shared.codeCallback = { [weak self] code in
-// guard let self = self else{return}
-// codeCallback?(code)
-// }
-// DCBleRecord.shared.filePathCallBack = { [weak self] path in
-// guard let self = self else{return}
-// if recordText.isEmpty{
-// return
-// }
-// OpusTools.opusTowav(path ?? "") {[weak self] wavPath in
-// self?.recordFinish?(wavPath ?? "")
-// }
-// }
-// }
-// func setRecordLanage(_ language:CCAiLanguage){
-// DCBleRecord.shared.fromLanguage = language.value
-// }
-// func recordStart(){
-// recordList.removeAll()
-// recordText = ""
-// setupSdk()
-// if !DcCall.shared.isInCall {
-// callRecordNotOnCall?()
-// return
-// }
-// Logger.debug("开启通话录音")
-// DCBleRecord.shared.start(type: 0x00, recordPath: nil )
-// }
-// func recordStop(){
-// DCBleRecord.shared.stop()
-// }
-//}
func setupSdk() {
JoySdkManager.shared.record.recordFinish = {[weak self] path in
guard let self = self else { return }
+ rhythView.stopTimer()
if !needSave {
return
}
YLprogressHUD.showAutoHiden("蓝牙已断开".l10n)
self.isConnetd = false
if CCDevice.isJoy{
+ JoySdkManager.shared.bleDisConnected()
}
else{
// DCBleManager.shared.centralManager(central, didDisconnectPeripheral: peripheral, error: nil)
/// 日记管理
class Logger {
- static var isDebug: Bool = false
+ static var isDebug: Bool = true
fileprivate static let shared = Logger()
private var fileHandle:FileHandle?