Domanda

Qualcuno ha questo funzionante? Credo di avere il codecprivatedato incasinato, ma non riesco a trovare alcun formattag di forma d'onda che sembra funzionare. Ho provato 0xFF00, 0x1016 e 0x0116. Ho usato la documentazione MSDN per completare il resto della stringa.

L'ho trovato in mmreg.h (wave_format_mpeg_adts_aac 0x1600) che avrebbe un formattag (0x0016). Penseresti che questo sia ciò che dovrei usare, ma neanche questo non funziona.

Quando si utilizza 0xFF se evito che le intestazioni di Adts nel torrente GETSAMPLEASYNC vengono chiamate ripetutamente ma non c'è una riproduzione. So che il flusso è buono perché posso giocarci in Foobar, VLC e Window Media Player. Quando attacco l'AAC grezzo in un contenitore MP4 funziona bene in Silverlight, quindi so che l'impostazione AAC è supportata da Silverlight.

Qualcuno può fornirmi con una stringa di codecprivatata esagonale che ha funzionato per loro?

Modifica:

Questo è un esempio di stringa esagonale PrivatecodeCData che penso dovrebbe funzionare:

0x1016010080BBB0000E02E0000010000000E000100FE0000000000000000000000000000000000000000000000FE00000000E000100FE00000000E.000000

Questa stringa va direttamente da openmediasysysysysync () a closemedia () senza nemmeno provare un campione. L'esempio di documentazione MSDN è la stessa cosa trovata qui . Mi aspetterei di provare almeno un campione prima della chiusura.

È stato utile?

Soluzione

Silverlight sembra non essere conforme con AAC e ADTS Wrapper ...

Se analizzi il tuo file MP4 (con MediaInfo ad esempio), vedrai AAC per AUDIO ma senza Wrapper Adts.Questo è il motivo per cui Silverlight può leggere in questo caso il tuo audio AAC incorporato in un file MP4.

Quindi è necessario rimuovere l'intestazione degli ADST per ciascun campione audio prima di chiamare i reportMpleCompleted () nel MediaStreamSource.L'intestazione di Adts è composta da 7 o 9 byte (senza o con CRC).Per ulteriori informazioni sull'intestazione di Adts, Vedi questo link .

Ovviamente, è necessario adattare la stringa di codecprivatata con il giusto formattag.Ecco il mio per un file AAC LC 48KHZ @ 96KBPS: FF00020080BB0000E02E0000040010000200

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top