@umutgur wrote:
Hi,
I want to upload recorded audio to FireBase storage, but even though I have not worked for a long time, I still working for this.
I seemed to have three options; upload with API, upload with FireBase, upload with socket.
I tried the first two options, but I did not get a nice result.
Finally, I tried the second option. I’ve successfully sent the audio file to FireBase. But the file looks bad, It can’t play.
Here is the my code for this;
DataProvider.ts:
import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { AngularFireDatabase } from 'angularfire2/database'; import { AngularFireStorage, AngularFireUploadTask } from 'angularfire2/storage'; import { DateTime } from 'ionic-angular'; @Injectable() export class DataProvider { constructor(private db: AngularFireDatabase, private storage: AngularFireStorage) { } uploadToStorage(blob, metadata): AngularFireUploadTask { let newName = new Date().getTime() + '.mp3'; return this.storage.ref('files/' + newName).put(blob); } }
Post.ts
doPost() { const metadata = { contentType: 'audio/mp3', }; const file = { dir: this.navParams.get('fileDir') } console.log('Dir:' + file.dir); var blob = new Blob([file.dir], { type: 'audio/mp3' }); let upload = this.dataProvider.uploadToStorage(blob, metadata); upload.then().then(res => { console.log('res: ', res); }) }
Posts: 1
Participants: 1