diff --git a/package-lock.json b/package-lock.json index 07b5b68ce..08f2873fa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3044,6 +3044,21 @@ } } }, + "@ionic-native/file-opener": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/file-opener/-/file-opener-5.36.0.tgz", + "integrity": "sha512-UKp3pbqvQXsAtLMJ5JE+KcTMxpjSZMFebf6nvy/KJvwy85JGIaCV4ZVM/H9CFUrHJMWBH6wDbY+WPygnsrl4Yg==", + "requires": { + "@types/cordova": "^0.0.34" + }, + "dependencies": { + "@types/cordova": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", + "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" + } + } + }, "@ionic-native/file-path": { "version": "5.36.0", "resolved": "https://registry.npmjs.org/@ionic-native/file-path/-/file-path-5.36.0.tgz", @@ -8072,6 +8087,11 @@ "integrity": "sha512-m7cughw327CjONN/qjzsTpSesLaeybksQh420/gRuSXJX5Zt9NfgsSbqqKDon6jnQ9Mm7h7imgyO2uJ34XMBtA==", "dev": true }, + "cordova-plugin-file-opener2": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/cordova-plugin-file-opener2/-/cordova-plugin-file-opener2-3.0.5.tgz", + "integrity": "sha512-tjLHDamH5+y0bJZYVe2967L1S4R8tL4Y0rJUzJGoxsyiw3FUlrJNS199POOpzZZ6Xhlntn9a2o7+84r1dMN21A==" + }, "cordova-plugin-filepath": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/cordova-plugin-filepath/-/cordova-plugin-filepath-1.6.0.tgz", diff --git a/package.json b/package.json index d7cdfbdb9..77e9e6137 100644 --- a/package.json +++ b/package.json @@ -62,6 +62,7 @@ "@ionic-native/document-viewer": "^5.36.0", "@ionic-native/fcm": "^5.36.0", "@ionic-native/file": "^5.36.0", + "@ionic-native/file-opener": "^5.36.0", "@ionic-native/file-path": "^5.30.0", "@ionic-native/fingerprint-aio": "^4.20.0", "@ionic-native/http": "^5.31.1", @@ -104,6 +105,7 @@ "cordova": "^10.0.0", "cordova-plugin-crop": "^0.4.0", "cordova-plugin-dbcopy": "git+https://github.com/an-rahulpandey/cordova-plugin-dbcopy.git", + "cordova-plugin-file-opener2": "^3.0.5", "cordova-plugin-filepath": "^1.5.8", "cordova-plugin-okhttp": "^2.0.0", "cordova-plugin-screen-orientation": "^3.0.2", diff --git a/src/app/app.module.ts b/src/app/app.module.ts index ed93e7c49..056b7423d 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -69,6 +69,8 @@ import {NgxImageCompressService} from 'ngx-image-compress'; import { CustomImageCachePageRoutingModule } from './services/file/custom-image-cache/custom-image-cache-routing.module'; import { IonicImageLoaderComponent, IonicImageLoaderModule } from 'ionic-image-loader-v5'; +import { FileOpener } from '@ionic-native/file-opener/ngx'; + /* import { FCM } from '@ionic-native/fcm/ngx'; import { FirebaseX } from '@ionic-native/firebase-x/ngx'; */ //import { FCM } from 'cordova-plugin-fcm-with-dependecy-updated/ionic/ngx'; @@ -144,6 +146,7 @@ import { FirebaseX } from '@ionic-native/firebase-x/ngx'; */ StreamingMedia, PhotoViewer, NgxImageCompressService, + FileOpener ], bootstrap: [AppComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA] diff --git a/src/app/pages/chat/messages/messages.page.ts b/src/app/pages/chat/messages/messages.page.ts index 515a7cacb..43afaf0a6 100644 --- a/src/app/pages/chat/messages/messages.page.ts +++ b/src/app/pages/chat/messages/messages.page.ts @@ -40,6 +40,7 @@ import { SearchPage } from 'src/app/pages/search/search.page'; import { Storage } from '@ionic/storage'; import { FileToBase64Service } from 'src/app/services/file/file-to-base64.service'; import { Camera, CameraResultType, CameraSource } from '@capacitor/camera'; +import { FileOpener } from '@ionic-native/file-opener/ngx'; /* import {Plugins} from '@capacitor/core'; const { Filesystem } = Plugins; */ @@ -117,6 +118,7 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { private processesService: ProcessesService, private storage: Storage, private fileToBase64Service: FileToBase64Service, + private fileOpener: FileOpener, ) { this.loggedUser = authService.ValidatedUserChat['data']; this.roomId = this.navParams.get('roomId'); @@ -258,9 +260,11 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { console.log(audioFile); const base64sound = audioFile.data; - const audioRef = new Audio(`data:audio/aac;base64,${base64sound}`) + this.fileOpener.open('C:/Users/tiago.kayaya/Downloads/Audiorecord','audio/wav') + + /* const audioRef = new Audio(`data:audio/aac;base64,${base64sound}`) audioRef.oncanplaythrough = () => audioRef.play(); - audioRef.load(); + audioRef.load(); */ }