Il modo migliore per gestire i punti di cue in un file audio (dal microfono)
-
14-11-2019 - |
Domanda
Mi piacerebbe registrare l'audio da un microfono e vorrei che l'utente sia in grado di aggiungere punti cue durante la registrazione, quindi quando carica il file in seguito, può saltare facilmente in una posizione specifica. Non so davvero quale formato file dovrei usare e come memorizzare i metadati (cue points)
Ho pensato a
- .
- Codifica di un wav / mp3 e memorizza i metadati in un file .cue (facile da fare ma 2 file da archiviare)
- Memorizzazione dei dati XMP in un file MP3 (sembra un po 'più difficile ma metadati standard incorporati in 1 file)
- flv / f4v solo con audio e cue points standard ma non sono sicuro di poterli creare direttamente dal client
Cosa ne pensi?
Soluzione
Lo sapevi che il formato del file WAV supporta i blocchi di cue incorporati?
La specifica dice:
.The <cue-ck> cue-points chunk identifies a series of positions in
the waveform data stream. The <cue-ck> is defined as follows:
<cue-ck> -> cue( <dwCuePoints:DWORD> // Count of cue points
<cue-point>... ) // Cue-point table
<cue-point> -> struct {
DWORD dwName;
DWORD dwPosition;
FOURCC fccChunk;
DWORD dwChunkStart;
DWORD dwBlockStart;
DWORD dwSampleOffset;
}
.
Per un file wav con un singolo pezzo di dati (lo standard), FCCChunk dovrebbe essere "Dati", Chunkstart e Blockstart sono 0 e Sigillooffset è il campione che si desidera contrassegnare.
Questo potrebbe essere il modo più portatile per registrare i tuoi segnali.
Altri suggerimenti
Secondo me, il modo migliore sarebbe quello di salvare il SoundChannel.Position del cue points in un XML o qualcosa di simile. Mi rendo conto che questo emetterà due file, ma puoi anche creare il tuo tipo di file proprietario e scrivere i dati audio + cue point NFO in un singolo file. Ad ogni modo lo dico per diversi motivi. Il primo essere, trovando buoni encoder mp3 per il flash sarà un po 'complicato. La maggior parte di loro è basata sull'alchimia, che è una tecnologia di anteprima (nemmeno la beta nemmeno la beta semplicemente schiaffeggiata la tecnologia con sede in anteprima). È anche molto soggetto a perdite di memoria, performance lente (come i codificatori flash che cercano di codificare C / C ++ generalmente processi di mismage o sovraccarico) ed è anche difficile trovare uno completo completo. Direi che lo stesso più probabilmente si applicano per la codifica FLV / F4V anche sul lato flash. Se vuoi andare a questa strada, questa è la cosa migliore che hai finito lì (come inizio): http://www.zeropointnine.com/blog/simpleflvwriteras-s3-class-to-create-flvs/
Allora, se si tratta di ciò che sarà per il tuo progetto completare il più veloce e eseguendo il più stabile, vai con la soluzione di file 2. Non farmi torto Se lo volessi, ci sono un sacco di soluzioni di codifica mp3 a metà completa o di base là fuori (così come FLV, come referenziato sopra) ma prenderà il tempo e lo sforzo investito per apprendere questi formati di file, Scopri come queste classi / framework esistenti funzionano, imparando ad estenderli e quindi stabilizzare e debug. Se vuoi investire quel tempo, quindi con tutti i mezzi tuffo direttamente in: http://code.google .com / p / flash-kikko / .
un'opzione è quella di utilizzare Base64 Encoding Per salvare i dati audio come testo all'interno di un file XML insieme ai dati cuepoint.Questo sarebbe un modo davvero inefficiente per memorizzare i dati e produrrebbe un grosso file, specialmente se fosse una lunga registrazione.Tuttavia, utilizzando un encoder / decoder mp3 o qualche altro encoder potrebbe aiutarti con quello.
A proposito, è il floriano F. che lavoravo con?