adding file and appropriate player but not playing on send
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
890919A42781845D0025F4BB /* AlertToast in Frameworks */ = {isa = PBXBuildFile; productRef = 890919A32781845D0025F4BB /* AlertToast */; };
|
890919A42781845D0025F4BB /* AlertToast in Frameworks */ = {isa = PBXBuildFile; productRef = 890919A32781845D0025F4BB /* AlertToast */; };
|
||||||
890919A7278299590025F4BB /* RuleBook.swift in Sources */ = {isa = PBXBuildFile; fileRef = 890919A6278299590025F4BB /* RuleBook.swift */; };
|
890919A7278299590025F4BB /* RuleBook.swift in Sources */ = {isa = PBXBuildFile; fileRef = 890919A6278299590025F4BB /* RuleBook.swift */; };
|
||||||
890919AB2782DC760025F4BB /* ProgressBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 890919AA2782DC760025F4BB /* ProgressBarView.swift */; };
|
890919AB2782DC760025F4BB /* ProgressBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 890919AA2782DC760025F4BB /* ProgressBarView.swift */; };
|
||||||
|
890919B1278401E00025F4BB /* woosh.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 890919B0278401E00025F4BB /* woosh.mp3 */; };
|
||||||
890C245D277BF628009B4A30 /* AgoraRtcKit in Frameworks */ = {isa = PBXBuildFile; productRef = 890C245C277BF628009B4A30 /* AgoraRtcKit */; };
|
890C245D277BF628009B4A30 /* AgoraRtcKit in Frameworks */ = {isa = PBXBuildFile; productRef = 890C245C277BF628009B4A30 /* AgoraRtcKit */; };
|
||||||
890C2460277BF896009B4A30 /* AgoraViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 890C245F277BF896009B4A30 /* AgoraViewController.swift */; };
|
890C2460277BF896009B4A30 /* AgoraViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 890C245F277BF896009B4A30 /* AgoraViewController.swift */; };
|
||||||
890C2462277BF935009B4A30 /* CallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 890C2461277BF935009B4A30 /* CallView.swift */; };
|
890C2462277BF935009B4A30 /* CallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 890C2461277BF935009B4A30 /* CallView.swift */; };
|
||||||
@@ -109,6 +110,7 @@
|
|||||||
8909199D278155920025F4BB /* UserStatusView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserStatusView.swift; sourceTree = "<group>"; };
|
8909199D278155920025F4BB /* UserStatusView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserStatusView.swift; sourceTree = "<group>"; };
|
||||||
890919A6278299590025F4BB /* RuleBook.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RuleBook.swift; sourceTree = "<group>"; };
|
890919A6278299590025F4BB /* RuleBook.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RuleBook.swift; sourceTree = "<group>"; };
|
||||||
890919AA2782DC760025F4BB /* ProgressBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressBarView.swift; sourceTree = "<group>"; };
|
890919AA2782DC760025F4BB /* ProgressBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressBarView.swift; sourceTree = "<group>"; };
|
||||||
|
890919B0278401E00025F4BB /* woosh.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = woosh.mp3; sourceTree = "<group>"; };
|
||||||
890C245F277BF896009B4A30 /* AgoraViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AgoraViewController.swift; sourceTree = "<group>"; };
|
890C245F277BF896009B4A30 /* AgoraViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AgoraViewController.swift; sourceTree = "<group>"; };
|
||||||
890C2461277BF935009B4A30 /* CallView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallView.swift; sourceTree = "<group>"; };
|
890C2461277BF935009B4A30 /* CallView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallView.swift; sourceTree = "<group>"; };
|
||||||
890C2463277BFA97009B4A30 /* AgroRep.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AgroRep.swift; sourceTree = "<group>"; };
|
890C2463277BFA97009B4A30 /* AgroRep.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AgroRep.swift; sourceTree = "<group>"; };
|
||||||
@@ -210,6 +212,7 @@
|
|||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
8909199B277EFDF30025F4BB /* joinSound.mp3 */,
|
8909199B277EFDF30025F4BB /* joinSound.mp3 */,
|
||||||
|
890919B0278401E00025F4BB /* woosh.mp3 */,
|
||||||
89091998277EFDCC0025F4BB /* leaveSound.mp3 */,
|
89091998277EFDCC0025F4BB /* leaveSound.mp3 */,
|
||||||
);
|
);
|
||||||
path = sounds;
|
path = sounds;
|
||||||
@@ -626,6 +629,7 @@
|
|||||||
891A15E827653A7100B26659 /* Preview Assets.xcassets in Resources */,
|
891A15E827653A7100B26659 /* Preview Assets.xcassets in Resources */,
|
||||||
8909199C277EFDF30025F4BB /* joinSound.mp3 in Resources */,
|
8909199C277EFDF30025F4BB /* joinSound.mp3 in Resources */,
|
||||||
891A15E527653A7100B26659 /* Assets.xcassets in Resources */,
|
891A15E527653A7100B26659 /* Assets.xcassets in Resources */,
|
||||||
|
890919B1278401E00025F4BB /* woosh.mp3 in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -148,41 +148,57 @@ extension InnerCircleViewModel {
|
|||||||
|
|
||||||
if self.audioLocalUrl != nil {
|
if self.audioLocalUrl != nil {
|
||||||
// upload to the cloud storage
|
// upload to the cloud storage
|
||||||
self.cloudStorageService.uploadLocalUrl(localFileUrl: self.audioLocalUrl!) {[weak self] audioDataUrl in
|
DispatchQueue.global(qos: .background).async {
|
||||||
if audioDataUrl == nil {
|
self.cloudStorageService.uploadLocalUrl(localFileUrl: self.audioLocalUrl!) {[weak self] audioDataUrl in
|
||||||
print("there was an error in uploading file")
|
if audioDataUrl == nil {
|
||||||
self?.toast = .problemSendingClip
|
print("there was an error in uploading file")
|
||||||
return
|
DispatchQueue.main.async {
|
||||||
}
|
self?.toast = .problemSendingClip
|
||||||
|
|
||||||
let newMessage = Message(sendId: sender.id!, receivId: receiver.id!, audioDUrl: audioDataUrl!.absoluteString)
|
|
||||||
|
|
||||||
// create a new message in firestore with the url for receiving user to automatically get notified
|
|
||||||
self?.firestoreService.createMessage(message: newMessage) {[weak self] res in
|
|
||||||
print(res)
|
|
||||||
|
|
||||||
switch res {
|
|
||||||
case .success:
|
|
||||||
|
|
||||||
self?.toast = .clipSent
|
|
||||||
|
|
||||||
// sending push notification if there was a device token for this friend
|
|
||||||
if receiver.deviceToken != nil && receiver.nickname != nil {
|
|
||||||
self?.pushNotificationService.sendPushNotification(to: receiver.deviceToken!, title: "🌱Nirvana", body: "continue your conversation with \(sender.nickname ?? "your friend")")
|
|
||||||
}
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// delete local audio file from user's phone so that it doesn't take crazy space
|
let newMessage = Message(sendId: sender.id!, receivId: receiver.id!, audioDUrl: audioDataUrl!.absoluteString)
|
||||||
print("stopped recording: file about to get deleted from \(self?.getTemporaryDirectory()) with filename: \(self?.audioLocalUrl)")
|
|
||||||
|
|
||||||
try? FileManager.default.removeItem(at: (self?.audioLocalUrl)!)
|
// create a new message in firestore with the url for receiving user to automatically get notified
|
||||||
case .error(let err):
|
self?.firestoreService.createMessage(message: newMessage) {[weak self] res in
|
||||||
print(err)
|
print(res)
|
||||||
self?.toast = .problemSendingClip
|
|
||||||
default:
|
DispatchQueue.main.async {
|
||||||
self?.toast = .problemSendingClip
|
switch res {
|
||||||
|
case .success:
|
||||||
|
// play woosh
|
||||||
|
if let wooshFilePath = URL(string: Bundle.main.path(forResource: "woosh", ofType: "mp3") ?? "") {
|
||||||
|
print(wooshFilePath)
|
||||||
|
|
||||||
|
self?.stopPlayingAnyAudio()
|
||||||
|
self?.queuePlayer = AVQueuePlayer(playerItem: AVPlayerItem(url: wooshFilePath))
|
||||||
|
self?.queuePlayer.automaticallyWaitsToMinimizeStalling = false
|
||||||
|
self?.queuePlayer.play()
|
||||||
|
}
|
||||||
|
|
||||||
|
self?.toast = .clipSent
|
||||||
|
|
||||||
|
// sending push notification if there was a device token for this friend
|
||||||
|
if receiver.deviceToken != nil && receiver.nickname != nil {
|
||||||
|
self?.pushNotificationService.sendPushNotification(to: receiver.deviceToken!, title: "🌱Nirvana", body: "continue your conversation with \(sender.nickname ?? "your friend")")
|
||||||
|
}
|
||||||
|
|
||||||
|
// delete local audio file from user's phone so that it doesn't take crazy space
|
||||||
|
print("stopped recording: file about to get deleted from \(self?.getTemporaryDirectory()) with filename: \(self?.audioLocalUrl)")
|
||||||
|
|
||||||
|
try? FileManager.default.removeItem(at: (self?.audioLocalUrl)!)
|
||||||
|
case .error(let err):
|
||||||
|
print(err)
|
||||||
|
self?.toast = .problemSendingClip
|
||||||
|
default:
|
||||||
|
self?.toast = .problemSendingClip
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
print("nothing recorded, can't send")
|
print("nothing recorded, can't send")
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user