sto usando questo tutorial Multipeer Connectivity Audio Stream To Multiple Peers e questo progetto Github Repository, per lo streaming audio da NSInputStream, che si ottiene:Fail Parsing M4A, AAC di file con File di Apple Audio Servizi Ruscello, iOS 7
-(void)session:didReceiveStream:withName:fromPeer:
Metodo delegato MCSession.
Dopo, questo open un nuovo flusso di file audio (TDAudioFileStreamer/Corsi/AudioFileStream.m: 39):
OSStatus err = AudioFileStreamOpen((__bridge void *)self, TDAudioFileStreamPropertyListener, TDAudioFileStreamPacketsListener, 0, &_audioFileStreamID);
quindi leggere byte dal NSInputStream e cercare di analizzare in questo modo (TDAudioFileStreamer/Corsi/AudioFileStream .m: 98):
err = AudioFileStreamParseBytes(self.audioFileStreamID, length, data, kAudioFileStreamParseFlag_Discontinuity);
Oppure:
err = AudioFileStreamParseBytes(self.audioFileStreamID, length, data, 0);
a seconda del flusso di dati.
Infine, riempire AudioQueue Buffer con i dati analizzati per riprodurre (credo - TDAudioFileStreamer/Classes/TDAudioQueueFiller.m).
Questo funziona davvero bene per i file in formato MP3, ma con altri formati quando si tenta di analizzare i byte ottenere l'errore "formato file non supportato".
La documentazione Apple, afferma che i servizi di Streaming file audio supportano molti formati e sono elencati in questo collegamento: Apple Stream Services supported formats, ma per me funziona solo con MP3.
stavo cercando troppo, quando è aperto il flusso di file audio passare un suggerimento su formato di file come questo e inviare un M4A o AAC File:
OSStatus err = AudioFileStreamOpen((__bridge void *)self, TDAudioFileStreamPropertyListener, TDAudioFileStreamPacketsListener, kAudioFileAAC_ADTSType, &_audioFileStreamID);
Dove kAudioFileAAC_ADTSType è il tipo di file inviato che sarà in streaming , in questo modo, il "errore di formato di file non supportato" scompare, ma l'applicazione si blocca e ottenere un nuovo errore
questo dice: io: LPC e cliente: aac.
- Qualcuno sa cosa significa?
- La coda si aspetta file in formato AAC?
- Perché LPCM (Linear Pulse Code Modulation), sto inviando M4A o AAC non LPCM?
Grazie in anticipo.
Ciao sto affrontando con lo stesso problema. Hai trovato qualche soluzione per questo problema. –
Non ancora, solo io trovo molto dolore. Sry. –
Probabilmente lo hai già provato, ma sai che esistono tipi di audio protetti. Quello che intendevo dire è provare diversi tipi di .m4a. Alcuni sono protetti e non possono essere riprodotti. Molti di loro provengono dal negozio itunes e non possono essere riprodotti. – user3892683