微信分享去sdk

This commit is contained in:
joywayer
2026-06-30 17:41:10 +08:00
parent c1e51d2183
commit 113b4d4960
7 changed files with 227 additions and 171 deletions
@@ -261,12 +261,11 @@ public enum RemoteAudioHandler {
return // cb daoqi file return
}
// 2. lastUserId daoqi
// `self.User_id = userid;`
VoicePlayer.shared.recordIncomingUser(user)
// 3. VoicePlayer.onFinish mediaTypeAudio bridge
// [weak bridge] bridge onFinish
// 2. VoicePlayer.onFinish mediaTypeAudio bridge
// [weak bridge] bridge onFinish
// onFinish / / play
// payload `finishedUser` / user
// VoicePlayer currentUser user
VoicePlayer.shared.onFinish = { [weak bridge] finishedUser in
Task { @MainActor in
bridge?.call(
@@ -277,7 +276,7 @@ public enum RemoteAudioHandler {
}
}
// 4. AMR
// 3. AMR
let amrData: Data
do {
let (d, _) = try await URLSession.shared.data(from: downloadURL)
@@ -288,7 +287,7 @@ public enum RemoteAudioHandler {
// `if (![[NSFileManager defaultManager] fileExistsAtPath:filename]) return;`
}
// 5. .amr
// 4. .amr
let tempName = VoiceRecorder.currentTimeString()
let docs = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
let amrLocal = docs.appendingPathComponent(tempName).appendingPathExtension("amr")
@@ -300,7 +299,7 @@ public enum RemoteAudioHandler {
return
}
// 6. AMR WAV
// 5. AMR WAV
// daoqi tempName + "_AmrToWav.wav"NewRootVC.m:341
let wavLocal = docs
.appendingPathComponent("\(tempName)_AmrToWav")
@@ -317,14 +316,16 @@ public enum RemoteAudioHandler {
transcoded = false
}
// 7. voicePlaying + + gameui_play_voice
// 6. voicePlaying + + gameui_play_voice
// + enabled daoqi
// NewRootVC.m:343-353 if (canbofang) { play + callHandler }
// NewRootVC.m:343-353 if (canbofang) { play + callHandler }
// playerVoicePlayer.play player
// onFinish gameui_stop_voice H5
let canPlay = await VoiceCenter.shared.isEnabled
log.debug("mediaTypeAudio user=\(user, privacy: .public) transcoded=\(transcoded, privacy: .public) canPlay=\(canPlay, privacy: .public)")
if transcoded, canPlay {
do {
try VoicePlayer.shared.play(wavLocal)
try VoicePlayer.shared.play(wavLocal, user: user)
// gameui_play_voice user dict
bridge.call(
"gameui_play_voice",
@@ -337,7 +338,7 @@ public enum RemoteAudioHandler {
}
}
// 8. mediaTypeAudio cb daoqi NewRootVC.m:357****
// 7. mediaTypeAudio cb daoqi NewRootVC.m:357****
// 使 / canbofang=NO return
callback?(.string("Response from mediaTypeAudio"))
}